mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 09:34:17 +00:00
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: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <james.smart@broadcom.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
f2bf460cf5
commit
2f07784f05
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user