Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752792AbdLAN7G (ORCPT ); Fri, 1 Dec 2017 08:59:06 -0500 Received: from cloudserver094114.home.net.pl ([79.96.170.134]:45354 "EHLO cloudserver094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752553AbdLAN7F (ORCPT ); Fri, 1 Dec 2017 08:59:05 -0500 From: "Rafael J. Wysocki" To: Linux PM Cc: LKML , Adrian Hunter , Lukas Wunner , Greg Kroah-Hartman Subject: [PATCH] PM / runtime: Fix handling of suppliers with disabled runtime PM Date: Fri, 01 Dec 2017 14:58:34 +0100 Message-ID: <1532136.s6buYvDjaS@aspire.rjw.lan> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1232 Lines: 30 From: Rafael J. Wysocki Prevent rpm_get_suppliers() from returning an error code if runtime PM is disabled for one or more of the supplier devices it wants to runtime-resume, so as to make runtime PM work for devices with links to suppliers that don't use runtime PM (such links may be created during device enumeration even before it is known whether or not runtime PM will be enabled for the devices in question, for example). Reported-by: Adrian Hunter Fixes: 21d5c57b3726 (PM / runtime: Use device links) Signed-off-by: Rafael J. Wysocki --- drivers/base/power/runtime.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-pm/drivers/base/power/runtime.c =================================================================== --- linux-pm.orig/drivers/base/power/runtime.c +++ linux-pm/drivers/base/power/runtime.c @@ -276,7 +276,8 @@ static int rpm_get_suppliers(struct devi continue; retval = pm_runtime_get_sync(link->supplier); - if (retval < 0) { + /* Ignore suppliers with disabled runtime PM. */ + if (retval < 0 && retval != -EACCES) { pm_runtime_put_noidle(link->supplier); return retval; }