]> git.ipfire.org Git - thirdparty/linux.git/commit
scsi: lpfc: Fix handling of fully recovered fabric node in dev_loss callbk
authorJustin Tee <justin.tee@broadcom.com>
Fri, 28 Jun 2024 17:20:07 +0000 (10:20 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 5 Jul 2024 03:24:51 +0000 (23:24 -0400)
commit15e21dc6d6b7d7feb6b0262422b45da5e3c4b34f
tree0a308e1ad3aa9108d141e4f6762f179a351152d5
parentaeaf117cc7d28b994652491c87b929d853519d20
scsi: lpfc: Fix handling of fully recovered fabric node in dev_loss callbk

In rare cases when a fabric node is recovered after a link bounce and
before dev_loss_tmo callbk is reached, the driver may leave the fabric node
in an inconsistent state with the NLP_IN_DEV_LOSS flag perpetually set.

In lpfc_dev_loss_tmo_callbk, a check is added for a recovered fabric node.
If the node is recovered, then don't queue the lpfc_dev_loss_tmo_handler
work. In lpfc_dev_loss_tmo_handler, the path taken for the recovered fabric
nodes is updated to clear the NLP_IN_DEV_LOSS flag.

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