[PATCH 2/3] staging: rtl8723au: fix "incorrect type in assignment"

Dan Carpenter dan.carpenter at oracle.com
Wed Jul 1 07:56:06 UTC 2015


On Tue, Jun 30, 2015 at 11:54:02PM +0200, Michel von Czettritz wrote:
> 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.czettritz at 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));

We shouldn't be passing param as a pointer anyway.  It should just be
u32 cmd.

	__le32 cmd_le = cpu_to_le32(cmd);

	FillH2CCmd(padapter, RSSI_SETTING_EID, 3, (u8 *)&cmd_le);

Fold it together with patch 1.

regards,
dan carpenter



More information about the devel mailing list