Search Linux Wireless

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> writes:
> On 07/01/2015 10:31 PM, Jes Sorensen wrote:
>> Michel von Czettritz <michel.von.czettritz@xxxxxxxxx> 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.czettritz@xxxxxxxxx>
>>> ---
>>>  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
> I'm not sure if the fold, changing u32* to u32, and changing this, is
> a bit much.
> Should this be a second patch? Or maybe a patch for each function?

I would change the u32 * in one patch and the conversion and memcpy in
another.

Cheers,
Jes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux