scsi: lpfc: Cancel ELS WQE instead of issuing abort when SLI port is inactive
authorJustin Tee <justin.tee@broadcom.com>
Fri, 28 Jun 2024 17:20:04 +0000 (10:20 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 5 Jul 2024 03:24:51 +0000 (23:24 -0400)
commite999ef15423b35473c0d94ff3dd2011a0f7ddb04
treecdbf8fe3d657706e827511ebbc937de4f8c02764
parent1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
scsi: lpfc: Cancel ELS WQE instead of issuing abort when SLI port is inactive

During SLI port errata events, there should be no expectation that
submitted outstanding WQEs will return back CQEs.  In these situations, the
driver should not rely on receiving CQEs from the SLI port to signal WQE
resource clean up.

Put an sli_flag LPFC_SLI_ACTIVE check in lpfc_els_flush_cmd() when walking
the txcmplq.  The sli_flag check helps determine whether to issue an abort
or driver based cancel on outstanding WQEs.  If !LPFC_SLI_ACTIVE, then
there's no point to issue anything to the SLI port.  Instead, let the
driver based cancel logic clean up the submitted WQE resources.

Also, enhance some abort log messages that help with future debugging.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240628172011.25921-2-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_els.c
drivers/scsi/lpfc/lpfc_sli.c