|
@@ -2311,7 +2311,7 @@ cfq_set_request(struct request_queue *q, struct request *rq, gfp_t gfp_mask)
|
|
goto queue_fail;
|
|
goto queue_fail;
|
|
|
|
|
|
cfqq = cic_to_cfqq(cic, is_sync);
|
|
cfqq = cic_to_cfqq(cic, is_sync);
|
|
- if (!cfqq) {
|
|
|
|
|
|
+ if (!cfqq || cfqq == &cfqd->oom_cfqq) {
|
|
cfqq = cfq_get_queue(cfqd, is_sync, cic->ioc, gfp_mask);
|
|
cfqq = cfq_get_queue(cfqd, is_sync, cic->ioc, gfp_mask);
|
|
cic_set_cfqq(cic, cfqq, is_sync);
|
|
cic_set_cfqq(cic, cfqq, is_sync);
|
|
}
|
|
}
|