qla2xxx: Fix NVMe entry_type for iocb packet on BE system

This patch fixes incorrect assignment for entry_type field for Continuation
Type iocb packet on BE system. This was caught by -Woverflow warning on BE
system compilation.

For Continuation Type iocb driver needs to write complete 32 bit value to
initialize other field members in structure to 0.

Following warning is seen on BE system compile:

drivers/scsi/qla2xxx/qla_nvme.c: In function 'qla2x00_start_nvme_mq':
include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer
implicitly truncated to unsigned type [-Woverflow]
 #define __cpu_to_le32(x) ((__force __le32)__swab32((x)))

[mkp: fixed typo]

Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Himanshu Madhani 2017-06-30 19:32:53 -07:00 committed by Martin K. Petersen
parent bcda771b2f
commit c345c6ca13
1 changed files with 2 additions and 1 deletions

View File

@ -442,7 +442,8 @@ static int qla2x00_start_nvme_mq(srb_t *sp)
req->ring_ptr++;
}
cont_pkt = (cont_a64_entry_t *)req->ring_ptr;
cont_pkt->entry_type = cpu_to_le32(CONTINUE_A64_TYPE);
*((uint32_t *)(&cont_pkt->entry_type)) =
cpu_to_le32(CONTINUE_A64_TYPE);
cur_dsd = (uint32_t *)cont_pkt->dseg_0_address;
avail_dsds = 5;