projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
blk-mq: fix hang in bt_get()
[deliverable/linux.git]
/
block
/
blk-mq-tag.c
diff --git
a/block/blk-mq-tag.c
b/block/blk-mq-tag.c
index 230ef3056b72e72fc1164aa6afdf7a14817e9e7f..eb55492e6875771f4723c92113bed70f7b8aec51 100644
(file)
--- a/
block/blk-mq-tag.c
+++ b/
block/blk-mq-tag.c
@@
-254,6
+254,13
@@
static int bt_get(struct blk_mq_alloc_data *data,
if (tag != -1)
break;
+ /*
+ * We're out of tags on this hardware queue, kick any
+ * pending IO submits before going to sleep waiting for
+ * some to complete.
+ */
+ blk_mq_run_hw_queue(hctx, false);
+
blk_mq_put_ctx(data->ctx);
io_schedule();
This page took
0.025394 seconds
and
5
git commands to generate.