]> git.baikalelectronics.ru Git - kernel.git/commit
qedf: fix wrong le16 conversion
authorArnd Bergmann <arnd@arndb.de>
Mon, 20 Mar 2017 08:49:27 +0000 (09:49 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Mar 2017 18:56:08 +0000 (11:56 -0700)
commit6e6921e562d374cb531706dcaae9b2e09df07666
treef828ee203a210af401e32d31518365f325f20e9c
parent10183cb19e60136b6f027747b57d493028cd5c7a
qedf: fix wrong le16 conversion

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: d806269202ca ("qed*: Utilize Firmware 8.15.3.0")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Chad Dupuis <chad.dupuis@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/scsi/qedf/drv_fcoe_fw_funcs.c