Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f07784f authored by James Smart's avatar James Smart Committed by Martin K. Petersen
Browse files

scsi: lpfc: Correct oops on vport port resets



Correct oops on vport port resets. Incorrect WQE type, thus the clearing
code actually overstepped the WQE.

Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent f2bf460c
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -17221,7 +17221,8 @@ lpfc_drain_txq(struct lpfc_hba *phba)
	unsigned long iflags = 0;
	char *fail_msg = NULL;
	struct lpfc_sglq *sglq;
	union lpfc_wqe wqe;
	union lpfc_wqe128 wqe128;
	union lpfc_wqe *wqe = (union lpfc_wqe *) &wqe128;
	uint32_t txq_cnt = 0;
	spin_lock_irqsave(&pring->ring_lock, iflags);
@@ -17260,9 +17261,9 @@ lpfc_drain_txq(struct lpfc_hba *phba)
		piocbq->sli4_xritag = sglq->sli4_xritag;
		if (NO_XRI == lpfc_sli4_bpl2sgl(phba, piocbq, sglq))
			fail_msg = "to convert bpl to sgl";
		else if (lpfc_sli4_iocb2wqe(phba, piocbq, &wqe))
		else if (lpfc_sli4_iocb2wqe(phba, piocbq, wqe))
			fail_msg = "to convert iocb to wqe";
		else if (lpfc_sli4_wq_put(phba->sli4_hba.els_wq, &wqe))
		else if (lpfc_sli4_wq_put(phba->sli4_hba.els_wq, wqe))
			fail_msg = " - Wq is full";
		else
			lpfc_sli_ringtxcmpl_put(phba, pring, piocbq);