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)
commit6f359f99b8c2ff3b09329611da00fe39a7c10e7e
treef828ee203a210af401e32d31518365f325f20e9c
parent028ba8aad3f103011f0110b7d5857a1b4fdd0e8d
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: be086e7c53f1 ("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