]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - drivers/nvme/target/fcloop.c
nvme-fcloop: Fix dropped LS's to removed target port
[mirror_ubuntu-bionic-kernel.git] / drivers / nvme / target / fcloop.c
index cd1adb9e7e9d68bec9924e4d5100cb459f18ce18..7fdda8f8a5661c1e17c8e8443c811d2de58fed34 100644 (file)
@@ -300,7 +300,7 @@ fcloop_tgt_lsrqst_done_work(struct work_struct *work)
        struct fcloop_tport *tport = tls_req->tport;
        struct nvmefc_ls_req *lsreq = tls_req->lsreq;
 
-       if (tport->remoteport)
+       if (!tport || tport->remoteport)
                lsreq->done(lsreq, tls_req->status);
 }
 
@@ -318,6 +318,7 @@ fcloop_ls_req(struct nvme_fc_local_port *localport,
 
        if (!rport->targetport) {
                tls_req->status = -ECONNREFUSED;
+               tls_req->tport = NULL;
                schedule_work(&tls_req->work);
                return ret;
        }