• Larry Finger's avatar
    staging: r8188eu: Fix some endian problems · f63f8560
    Larry Finger authored
    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.
    
    Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
    Reviewed-by: default avatarDan Carpenter <error27@gmail.com>
    Reported-by: default avatarGaurav Pathak <gauravpathak129@gmail.com>
    Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
    Link: https://lore.kernel.org/r/20230120191119.13163-1-Larry.Finger@lwfinger.netSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f63f8560
rtl8188e_cmd.h 2.18 KB