projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
164c80e
)
nvme-rdma: only clear queue flags after successful connect
author
Sagi Grimberg
<
[email protected]
>
Fri, 23 Sep 2016 01:58:17 +0000
(19:58 -0600)
committer
Jens Axboe
<
[email protected]
>
Fri, 23 Sep 2016 01:58:17 +0000
(19:58 -0600)
Otherwise, nvme_rdma_stop_and_clear_queue() will incorrectly
try to stop/free rdma qps/cm_ids that are already freed.
Fixes: e89ca58f9c90 ("nvme-rdma: add DELETING queue flag")
Reported-by: Steve Wise <
[email protected]
>
Tested-by: Steve Wise <
[email protected]
>
Signed-off-by: Sagi Grimberg <
[email protected]
>
Reviewed-by: Christoph Hellwig <
[email protected]
>
Signed-off-by: Jens Axboe <
[email protected]
>
drivers/nvme/host/rdma.c
patch
|
blob
|
history
diff --git
a/drivers/nvme/host/rdma.c
b/drivers/nvme/host/rdma.c
index c2c2c28e6eb59fbd45dfc278354c65626d9b0f95..fbdb2267e4603499021b39382d932c571874c505 100644
(file)
--- a/
drivers/nvme/host/rdma.c
+++ b/
drivers/nvme/host/rdma.c
@@
-561,7
+561,6
@@
static int nvme_rdma_init_queue(struct nvme_rdma_ctrl *ctrl,
queue = &ctrl->queues[idx];
queue->ctrl = ctrl;
- queue->flags = 0;
init_completion(&queue->cm_done);
if (idx > 0)
@@
-595,6
+594,7
@@
static int nvme_rdma_init_queue(struct nvme_rdma_ctrl *ctrl,
goto out_destroy_cm_id;
}
+ clear_bit(NVME_RDMA_Q_DELETING, &queue->flags);
set_bit(NVME_RDMA_Q_CONNECTED, &queue->flags);
return 0;