Michel von Czettritz <michel.von.czettr...@gmail.com> writes:
> Writing the output of cpu_to_le32 to an u32 or *(u32*) is an implicit
> cast and results in an sparse warning.
>
> Since param and mask won't be changed, the implicit cast can be avoided
> by creating local variables.
>
> Signed-off-by: Michel von Czettritz <michel.von.czettr...@gmail.com>
> ---
>  drivers/staging/rtl8723au/hal/rtl8723a_cmd.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c 
> b/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
> index 1003365..a5e6726 100644
> --- a/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
> +++ b/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
> @@ -115,9 +115,10 @@ exit:
>  
>  int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, u32 *param)
>  {
> -     *((u32 *)param) = cpu_to_le32(*(param));
> +     __le32 param_le;
> +     param_le = cpu_to_le32(*(param));
>  
> -     FillH2CCmd(padapter, RSSI_SETTING_EID, 3, (u8 *)param);
> +     FillH2CCmd(padapter, RSSI_SETTING_EID, 3, (u8 *)&param_le);
>  
>       return _SUCCESS;
>  }
> @@ -125,10 +126,11 @@ int rtl8723a_set_rssi_cmd(struct rtw_adapter *padapter, 
> u32 *param)
>  int rtl8723a_set_raid_cmd(struct rtw_adapter *padapter, u32 mask, u8 arg)
>  {
>       u8 buf[5];
> +     __le32 mask_le;
>  
>       memset(buf, 0, 5);
> -     mask = cpu_to_le32(mask);
> -     memcpy(buf, &mask, 4);
> +     mask_le = cpu_to_le32(mask);
> +     memcpy(buf, &mask_le, 4);

cpu_to_le32() + memcpy() is ugly - put_unaligned_le32() would make more
sense.

Jes
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to