]> 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)
commit2306706458bad4270e7742589b3d91fedc36deb1
treef828ee203a210af401e32d31518365f325f20e9c
parentb88909108fa3e90417c38c74cd2ac83a3f11193b
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: e405613b428d ("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