diff options
author | Justin Tee <justin.tee@broadcom.com> | 2025-04-25 12:48:00 -0700 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2025-04-28 21:38:14 -0400 |
commit | 8808c36b48a66ff24032e56538ab2d8df3b09e20 (patch) | |
tree | b807b561ccaaab6e38bf2dce7c4b76d975a851a2 | |
parent | 05ae6c9c7315d844fbc15afe393f5ba5e5771126 (diff) |
scsi: lpfc: Notify FC transport of rport disappearance during PCI fcn reset
A PCI function reset implies a temporary disappearance of a fc_rport.
So, call lpfc_scsi_dev_block(), which sets all mapped fc_rports into the
temporary FC_PORTSTATE_BLOCKED state. Once PCI function reset completes
and link reinitialized, the fc_rport is rediscovered and
FC_PORTSTATE_BLOCKED state is removed.
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20250425194806.3585-3-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 90021653e59e..2400602a8561 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c @@ -1907,6 +1907,9 @@ lpfc_sli4_port_sta_fn_reset(struct lpfc_hba *phba, int mbx_action, uint32_t intr_mode; LPFC_MBOXQ_t *mboxq; + /* Notifying the transport that the targets are going offline. */ + lpfc_scsi_dev_block(phba); + if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >= LPFC_SLI_INTF_IF_TYPE_2) { /* |