aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block/blk-core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c
index d20ce1e849c..0c0ea10e61e 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -2696,6 +2696,11 @@ static void flush_plug_list(struct blk_plug *plug)
q = NULL;
depth = 0;
+
+ /*
+ * Save and disable interrupts here, to avoid doing it for every
+ * queue lock we have to take.
+ */
local_irq_save(flags);
while (!list_empty(&list)) {
rq = list_entry_rq(list.next);