Previosly the function had the following prototype:
int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u8 *param)
My suggestion here is to modify the prototype this way:
int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u32 param)
We can do this based on the following considerations:
1. rtl8723a_set_rssi_cmd is used only with 32-bit "param" values
2. There's no point in using "u8 *param" until we pass param length
3. As we just read "param", it's ok to pass it by value
Signed-off-by: Anatoly Stepanov <drivengroove@gmail.com>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
        for (i = 0; i < sta_cnt; i++) {
                if (PWDB_rssi[i] != (0))
-                       rtl8723a_set_rssi_cmd(Adapter, (u8 *)&PWDB_rssi[i]);
+                       rtl8723a_set_rssi_cmd(Adapter, PWDB_rssi[i]);
        }
 
        pdmpriv->EntryMaxUndecoratedSmoothedPWDB = MaxDB;
 
        return ret;
 }
 
-int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u8 *param)
+int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u32 param)
 {
-       *((u32 *)param) = cpu_to_le32(*((u32 *)param));
+       __le32 cmd = cpu_to_le32(param);
 
-       FillH2CCmd(padapter, RSSI_SETTING_EID, 3, param);
+       FillH2CCmd(padapter, RSSI_SETTING_EID, 3, (void *)&cmd);
 
        return _SUCCESS;
 }
 
 #else
 #define rtl8723a_set_BTCoex_AP_mode_FwRsvdPkt_cmd(padapter) do {} while(0)
 #endif
-int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u8 *param);
+int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u32 param);
 int rtl8723a_set_raid_cmd(struct rtw_adapter *padapter, u32 mask, u8 arg);
 void rtl8723a_add_rateatid(struct rtw_adapter *padapter, u32 bitmap, u8 arg, u8 rssi_level);