diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c index 2d6934a028674fb0df6ed187643686159cdacc84..46e54b441663d501c33944e46411117af9c4da40 100644 --- a/drivers/block/ll_rw_blk.c +++ b/drivers/block/ll_rw_blk.c @@ -1589,7 +1589,8 @@ void blk_run_queue(struct request_queue *q) spin_lock_irqsave(q->queue_lock, flags); blk_remove_plug(q); - q->request_fn(q); + if (!elv_queue_empty(q)) + q->request_fn(q); spin_unlock_irqrestore(q->queue_lock, flags); } EXPORT_SYMBOL(blk_run_queue);