From: Christoph Hellwig Date: Fri, 21 Jul 2017 11:46:10 +0000 (+0200) Subject: block: disable runtime-pm for blk-mq X-Git-Tag: v4.12.6~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c6a05484d0daca74f880d9559e28236330525cf;p=thirdparty%2Fkernel%2Fstable.git block: disable runtime-pm for blk-mq commit 765e40b675a9566459ddcb8358ad16f3b8344bbe upstream. The blk-mq code lacks support for looking at the rpm_status field, tracking active requests and the RQF_PM flag. Due to the default switch to blk-mq for scsi people start to run into suspend / resume issue due to this fact, so make sure we disable the runtime PM functionality until it is properly implemented. Signed-off-by: Christoph Hellwig Reviewed-by: Ming Lei Signed-off-by: Jens Axboe Cc: Oleksandr Natalenko Signed-off-by: Greg Kroah-Hartman --- diff --git a/block/blk-core.c b/block/blk-core.c index a7421b772d0e0..56a7fac71439c 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -3307,6 +3307,10 @@ EXPORT_SYMBOL(blk_finish_plug); */ void blk_pm_runtime_init(struct request_queue *q, struct device *dev) { + /* not support for RQF_PM and ->rpm_status in blk-mq yet */ + if (q->mq_ops) + return; + q->dev = dev; q->rpm_status = RPM_ACTIVE; pm_runtime_set_autosuspend_delay(q->dev, -1);