Commit 0be75928 authored by Nilesh Javali's avatar Nilesh Javali Committed by Martin K. Petersen
Browse files

scsi: qla2xxx: Correct endianness for rqstlen and rsplen



rqstlen and rsplen were changed to __le32 to fix sparse warnings:

drivers/scsi/qla2xxx/qla_nvme.c:402:30: warning: incorrect type in assignment (different base types)
drivers/scsi/qla2xxx/qla_nvme.c:402:30:    expected restricted __le32 [usertype] cmd_len
drivers/scsi/qla2xxx/qla_nvme.c:402:30:    got unsigned short [usertype] rsplen
drivers/scsi/qla2xxx/qla_nvme.c:507:30: warning: incorrect type in assignment (different base types)
drivers/scsi/qla2xxx/qla_nvme.c:507:30:    expected restricted __le32 [usertype] cmd_len
drivers/scsi/qla2xxx/qla_nvme.c:507:30:    got unsigned int [usertype] rqstlen
drivers/scsi/qla2xxx/qla_nvme.c:508:30: warning: incorrect type in assignment (different base types)
drivers/scsi/qla2xxx/qla_nvme.c:508:30:    expected restricted __le32 [usertype] rsp_len
drivers/scsi/qla2xxx/qla_nvme.c:508:30:    got unsigned int [usertype] rsplen

Correct the endianness in qla2xxx driver thus avoiding changes in
nvme-fc-driver.h.

Fixes: 875386b9 ("scsi: qla2xxx: Add Unsolicited LS Request and Response Support for NVMe")
Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20230831112146.32595-1-njavali@marvell.com


Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 31a0865b
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -399,14 +399,14 @@ static int qla_nvme_xmt_ls_rsp(struct nvme_fc_local_port *lport,
	nvme->u.nvme.dl = 0;
	nvme->u.nvme.timeout_sec = 0;
	nvme->u.nvme.cmd_dma = fd_resp->rspdma;
	nvme->u.nvme.cmd_len = fd_resp->rsplen;
	nvme->u.nvme.cmd_len = cpu_to_le32(fd_resp->rsplen);
	nvme->u.nvme.rsp_len = 0;
	nvme->u.nvme.rsp_dma = 0;
	nvme->u.nvme.exchange_address = uctx->exchange_address;
	nvme->u.nvme.nport_handle = uctx->nport_handle;
	nvme->u.nvme.ox_id = uctx->ox_id;
	dma_sync_single_for_device(&ha->pdev->dev, nvme->u.nvme.cmd_dma,
				   le32_to_cpu(fd_resp->rsplen), DMA_TO_DEVICE);
				   fd_resp->rsplen, DMA_TO_DEVICE);

	ql_dbg(ql_dbg_unsol, vha, 0x2122,
	       "Unsol lsreq portid=%06x %8phC exchange_address 0x%x ox_id 0x%x hdl 0x%x\n",
@@ -504,13 +504,13 @@ static int qla_nvme_ls_req(struct nvme_fc_local_port *lport,
	nvme->u.nvme.desc = fd;
	nvme->u.nvme.dir = 0;
	nvme->u.nvme.dl = 0;
	nvme->u.nvme.cmd_len = fd->rqstlen;
	nvme->u.nvme.rsp_len = fd->rsplen;
	nvme->u.nvme.cmd_len = cpu_to_le32(fd->rqstlen);
	nvme->u.nvme.rsp_len = cpu_to_le32(fd->rsplen);
	nvme->u.nvme.rsp_dma = fd->rspdma;
	nvme->u.nvme.timeout_sec = fd->timeout;
	nvme->u.nvme.cmd_dma = fd->rqstdma;
	dma_sync_single_for_device(&ha->pdev->dev, nvme->u.nvme.cmd_dma,
	    le32_to_cpu(fd->rqstlen), DMA_TO_DEVICE);
	    fd->rqstlen, DMA_TO_DEVICE);

	rval = qla2x00_start_sp(sp);
	if (rval != QLA_SUCCESS) {
+3 −3
Original line number Diff line number Diff line
@@ -53,10 +53,10 @@
struct nvmefc_ls_req {
	void			*rqstaddr;
	dma_addr_t		rqstdma;
	__le32			rqstlen;
	u32			rqstlen;
	void			*rspaddr;
	dma_addr_t		rspdma;
	__le32			rsplen;
	u32			rsplen;
	u32			timeout;

	void			*private;
@@ -120,7 +120,7 @@ struct nvmefc_ls_req {
struct nvmefc_ls_rsp {
	void		*rspbuf;
	dma_addr_t	rspdma;
	__le32		rsplen;
	u16		rsplen;

	void (*done)(struct nvmefc_ls_rsp *rsp);
	void		*nvme_fc_private;	/* LLDD is not to access !! */