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

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

 



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?

Regards Michel

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



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux