diff mbox

[05/17] lpfc: Fix NVME LS abort_xri

Message ID 20171103225628.24716-6-jsmart2021@gmail.com (mailing list archive)
State Changes Requested
Headers show

Commit Message

James Smart Nov. 3, 2017, 10:56 p.m. UTC
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>
---
 drivers/scsi/lpfc/lpfc_sli.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Hannes Reinecke Nov. 8, 2017, 9:24 a.m. UTC | #1
On 11/03/2017 11:56 PM, James Smart wrote:
> 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>
> ---
>  drivers/scsi/lpfc/lpfc_sli.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
> index ba6f0619433c..1229f58bdd09 100644
> --- a/drivers/scsi/lpfc/lpfc_sli.c
> +++ b/drivers/scsi/lpfc/lpfc_sli.c
> @@ -12807,6 +12807,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));
> 
Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
diff mbox

Patch

diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index ba6f0619433c..1229f58bdd09 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -12807,6 +12807,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));