diff options
| -rw-r--r-- | drivers/scsi/lpfc/lpfc_nvme.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_nvme.c b/drivers/scsi/lpfc/lpfc_nvme.c index 288dd3caff8a..76a5a99605aa 100644 --- a/drivers/scsi/lpfc/lpfc_nvme.c +++ b/drivers/scsi/lpfc/lpfc_nvme.c | |||
| @@ -2862,6 +2862,15 @@ lpfc_nvme_unregister_port(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) | |||
| 2862 | * The transport will update it. | 2862 | * The transport will update it. |
| 2863 | */ | 2863 | */ |
| 2864 | ndlp->upcall_flags |= NLP_WAIT_FOR_UNREG; | 2864 | ndlp->upcall_flags |= NLP_WAIT_FOR_UNREG; |
| 2865 | |||
| 2866 | /* Don't let the host nvme transport keep sending keep-alives | ||
| 2867 | * on this remoteport. Vport is unloading, no recovery. The | ||
| 2868 | * return values is ignored. The upcall is a courtesy to the | ||
| 2869 | * transport. | ||
| 2870 | */ | ||
| 2871 | if (vport->load_flag & FC_UNLOADING) | ||
| 2872 | (void)nvme_fc_set_remoteport_devloss(remoteport, 0); | ||
| 2873 | |||
| 2865 | ret = nvme_fc_unregister_remoteport(remoteport); | 2874 | ret = nvme_fc_unregister_remoteport(remoteport); |
| 2866 | if (ret != 0) { | 2875 | if (ret != 0) { |
| 2867 | lpfc_nlp_put(ndlp); | 2876 | lpfc_nlp_put(ndlp); |
