OSDN Git Service

scsi: lpfc: Fix abort error path for NVMET
authorJames Smart <jsmart2021@gmail.com>
Tue, 26 Jun 2018 15:24:25 +0000 (08:24 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 11 Jul 2018 02:15:09 +0000 (22:15 -0400)
commit68c9b55deea51151d9da3d45ecc9a5ef72f9dfb1
tree2cc8e7734d3b083b99c6ca0f51c385c8b286eb24
parentd580c6137476ab307a66e278cf7dbc666230f714
scsi: lpfc: Fix abort error path for NVMET

rmmod of driver hangs

As driver instances were being unloaded, the NVME target port was unloaded
first. During the unload, the NVME initiator port sent a heartbeat
IO. Because of the target port state, that IO was scheduled for an Abort;
however, that abort subsequently failed. The failure was not cleaned up
properly and lpfc_sli4_xri_exchange_busy_wait silently hung forever.

Clean failed abort properly and make lpfc_sli4_xri_exchange_busy_wait not
hangs silently while waiting for aborts to complete.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_nvmet.c