X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=block%2Fcfq-iosched.c;h=e47a9309eb485058b72d4649f631cf0029ee3dcb;hb=c11eef21aa119a41fa210b9693f2346997885bcf;hp=54dc05439009d09968572e6f12ce30d0fef151e8;hpb=0de085bb474f64e4fdb2f1ff3268590792648c7b;p=powerpc.git diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 54dc054390..e47a9309eb 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1443,8 +1443,11 @@ cfq_get_queue(struct cfq_data *cfqd, int is_sync, struct task_struct *tsk, cfqq = *async_cfqq; } - if (!cfqq) + if (!cfqq) { cfqq = cfq_find_alloc_queue(cfqd, is_sync, tsk, gfp_mask); + if (!cfqq) + return NULL; + } /* * pin the queue now that it's allocated, scheduler exit will prune it @@ -2053,7 +2056,7 @@ static void cfq_shutdown_timer_wq(struct cfq_data *cfqd) { del_timer_sync(&cfqd->idle_slice_timer); del_timer_sync(&cfqd->idle_class_timer); - blk_sync_queue(cfqd->queue); + kblockd_flush_work(&cfqd->unplug_work); } static void cfq_put_async_queues(struct cfq_data *cfqd)