On Thu, Jan 19, 2023 at 01:12:19PM -0600, Larry Finger wrote: > Sparse lists the following warnings: > > CHECK drivers/staging/r8188eu/core/rtw_mlme.c > drivers/staging/r8188eu/core/rtw_mlme.c:1197:49: warning: incorrect type in > argument 2 (different base types) > drivers/staging/r8188eu/core/rtw_mlme.c:1197:49: expected restricted > __le16 [usertype] mstatus_rpt > drivers/staging/r8188eu/core/rtw_mlme.c:1197:49: got unsigned short > [assigned] [usertype] media_status_rpt > drivers/staging/r8188eu/core/rtw_mlme.c:1275:57: warning: incorrect type in > argument 2 (different base types) > drivers/staging/r8188eu/core/rtw_mlme.c:1275:57: expected restricted > __le16 [usertype] mstatus_rpt > drivers/staging/r8188eu/core/rtw_mlme.c:1275:57: got unsigned short > [assigned] [usertype] media_status > CHECK drivers/staging/r8188eu/core/rtw_mlme_ext.c > drivers/staging/r8188eu/core/rtw_mlme_ext.c:6842:58: warning: incorrect type > in argument 2 (different base types) > drivers/staging/r8188eu/core/rtw_mlme_ext.c:6842:58: expected restricted > __le16 [usertype] mstatus_rpt > drivers/staging/r8188eu/core/rtw_mlme_ext.c:6842:58: got unsigned short > [assigned] [usertype] media_status > > The second argument of rtl8188e_set_FwMediaStatus_cmd() needs to be in CPU > order, not little-endian; however, when it uses that value to call > FillH2CCmd_88E() the parameter must be in little-endian order as that > value will be sent to the firmware. Note that the conversion from LE to CPU > order was le16_to_cpu() rather than the correct cpu_to_le16. > > The definition of FillH2CCmd_88E() is revised, and the proper conversion > routine is used. > > Note that the original code performed one byte swap on the secong argument > of FillH2CCmd_88E(), and got the correct answer even though the semantics > were very wrong. > > Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> > Reportewd-by: Gaurav Pathak <gauravpathak129@xxxxxxxxx> ^ Extra 'w'. Reviewed-by: Dan Carpenter <error27@xxxxxxxxx> regards, dan carpenter