summaryrefslogtreecommitdiff
path: root/drivers/nvme/target/fcloop.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2018-08-29 11:05:20 -0600
committerJens Axboe <axboe@kernel.dk>2018-08-29 11:05:20 -0600
commit52bd456a66c1abb7dd43628080025703248b1ea2 (patch)
treeca01f0e9340a4aa0ecb52d41849a45a41d7ff346 /drivers/nvme/target/fcloop.c
parent8f3fafc9c2f0ece10832c25f7ffcb07c97a32ad4 (diff)
parent04db0e5ec58167364a80fd33ddb4f3b67434eb85 (diff)
Merge branch 'nvme-4.19' of git://git.infradead.org/nvme into for-linusfor-linus-20180830
Pull NVMe fixes from Christoph. * 'nvme-4.19' of git://git.infradead.org/nvme: nvmet: free workqueue object if module init fails nvme-fcloop: Fix dropped LS's to removed target port nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event
Diffstat (limited to 'drivers/nvme/target/fcloop.c')
-rw-r--r--drivers/nvme/target/fcloop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/nvme/target/fcloop.c b/drivers/nvme/target/fcloop.c
index 34712def81b1..5251689a1d9a 100644
--- a/drivers/nvme/target/fcloop.c
+++ b/drivers/nvme/target/fcloop.c
@@ -311,7 +311,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);
}
@@ -329,6 +329,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;
}