diff mbox series

[REPOST] lpfc: Fix dma virtual address ptr assignment in bsg

Message ID 20210421234448.102132-1-jsmart2021@gmail.com (mailing list archive)
State Accepted
Commit 83adbba746d1c8b6e3b07d73ae7815044804c96e
Headers show
Series [REPOST] lpfc: Fix dma virtual address ptr assignment in bsg | expand

Commit Message

James Smart April 21, 2021, 11:44 p.m. UTC
lpfc_bsg_ct_unsol_event routine acts assigns a ct_request to the
wrong structure address, resulting in a bad address that results
in bsg related timeouts.

Correct the ct_request assignment to use the kernel virtual buffer
address (not the control structure address).

Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>

---
 drivers/scsi/lpfc/lpfc_bsg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Martin K. Petersen April 27, 2021, 3:07 a.m. UTC | #1
On Wed, 21 Apr 2021 16:44:48 -0700, James Smart wrote:

> lpfc_bsg_ct_unsol_event routine acts assigns a ct_request to the
> wrong structure address, resulting in a bad address that results
> in bsg related timeouts.
> 
> Correct the ct_request assignment to use the kernel virtual buffer
> address (not the control structure address).

Applied to 5.13/scsi-fixes, thanks!

[1/1] lpfc: Fix dma virtual address ptr assignment in bsg
      https://git.kernel.org/mkp/scsi/c/83adbba746d1
diff mbox series

Patch

diff --git a/drivers/scsi/lpfc/lpfc_bsg.c b/drivers/scsi/lpfc/lpfc_bsg.c
index c2776b88d493..38cfe1bc6a4d 100644
--- a/drivers/scsi/lpfc/lpfc_bsg.c
+++ b/drivers/scsi/lpfc/lpfc_bsg.c
@@ -934,7 +934,7 @@  lpfc_bsg_ct_unsol_event(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
 	INIT_LIST_HEAD(&head);
 	list_add_tail(&head, &piocbq->list);
 
-	ct_req = (struct lpfc_sli_ct_request *)bdeBuf1;
+	ct_req = (struct lpfc_sli_ct_request *)bdeBuf1->virt;
 	evt_req_id = ct_req->FsType;
 	cmd = ct_req->CommandResponse.bits.CmdRsp;