scsi: lpfc: Fix NVME LS abort_xri
authorJames Smart <jsmart2021@gmail.com>
Tue, 21 Nov 2017 00:00:32 +0000 (16:00 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 5 Dec 2017 01:32:54 +0000 (20:32 -0500)
Performing an LS abort results in the following message being seen:
  0603 Invalid CQ subtype 6: 00000300 22000002 ffff0016 d0050000
and the associated exchange is not properly freed.

The code did not recognize the exchange type that was aborted, thus it
was not properly handled.

Correct by adding the NVME LS ELS type to the exchange types that are
recognized.

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>
drivers/scsi/lpfc/lpfc_sli.c

index e5880521be2a8c3925437dad80acc66207336a10..1d489b89954e5563916db7e633ce496f6a4e4117 100644 (file)
@@ -12814,6 +12814,7 @@ lpfc_sli4_sp_handle_abort_xri_wcqe(struct lpfc_hba *phba,
                spin_unlock_irqrestore(&phba->hbalock, iflags);
                workposted = true;
                break;
+       case LPFC_NVME_LS: /* NVME LS uses ELS resources */
        case LPFC_ELS:
                cq_event = lpfc_cq_event_setup(
                        phba, wcqe, sizeof(struct sli4_wcqe_xri_aborted));