Re: [PATCH] qedf: fix wrong le16 conversion

From: David Miller
Date: Thu Mar 23 2017 - 14:56:37 EST


From: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx>
Date: Thu, 23 Mar 2017 10:19:03 -0400

> Arnd Bergmann <arnd@xxxxxxxx> writes:
>
>> gcc points out that we are converting a 16-bit integer into a 32-bit
>> little-endian type and assigning that to 16-bit little-endian
>> will end up with a zero:
>>
>> drivers/scsi/qedf/drv_fcoe_fw_funcs.c: In function 'init_initiator_rw_fcoe_task':
>> include/uapi/linux/byteorder/big_endian.h:32:26: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
>> t_st_ctx->read_write.rx_id = cpu_to_le32(FCOE_RX_ID);
>>
>> The correct solution appears to be to just use a 16-bit byte swap instead.
>>
>> Fixes: be086e7c53f1 ("qed*: Utilize Firmware 8.15.3.0")
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> drivers/scsi/qedf/drv_fcoe_fw_funcs.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> Dave: Since you queued the firmware patch, mind taking this fix through
> your tree?

Ok, applied to net-next, thanks.