diff --git a/block/blk-core.c b/block/blk-core.c
index 5e413933bc3abd68a94abf6ccfa43af1cf2cfb88..e2bacfa46cc3ee07684b276791e01870c68e26f7 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -220,7 +220,8 @@ static void blk_delay_work(struct work_struct *work)
  */
 void blk_delay_queue(struct request_queue *q, unsigned long msecs)
 {
-	schedule_delayed_work(&q->delay_work, msecs_to_jiffies(msecs));
+	queue_delayed_work(kblockd_workqueue, &q->delay_work,
+				msecs_to_jiffies(msecs));
 }
 EXPORT_SYMBOL(blk_delay_queue);