From patchwork Mon Sep 3 10:16:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leonard Crestez X-Patchwork-Id: 145770 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp2310045ljw; Mon, 3 Sep 2018 03:19:13 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdb/IdkHo8uvFBysTZIvh0LFpY295Fg8hq5Tb0Ixx4zGCvwXAr9inGHqDUn+E/RaxL2QId3x X-Received: by 2002:a63:6fca:: with SMTP id k193-v6mr10446061pgc.360.1535969952945; Mon, 03 Sep 2018 03:19:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535969952; cv=none; d=google.com; s=arc-20160816; b=l103fQTnvV6oOcxc4MVqj+4k9L/aJ405LSWid3hpq1fh7dcnhQOXdRw7t2NnTkr6EU i6rrpN3Cw7s7nFxInS2deZNC5ZLaoMIpTcOc/bYNXbhJiSy1oJIuPAq38J61IcotkV3T GUtZZtF2ueEBO4gyPpeFWy2v/Vs8yjVLTprtqdnYGlGFu70RAqiHkERjM6vzD1m/ij3+ kg+7PxvXPIjlfiiXDkgjMBJjA/IVLHzT4HaYTjGDb4jdWVgIPUwjqEGFXiU3IrPrcpP+ lfXrj71MAZ7gTQa00yiw4sYtNkXEKFDyGv3/FrxUiq1q3FecLe3zrMecujMCeofdtlyg bFyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature:arc-authentication-results; bh=2zMc4kHuOwLRXPTuE8zHWzakK/RQG9ZUqyzWvPJhE3o=; b=ccUedZBfTy21WjDj+/a+8EbHB4R9VuHp4LxttpCEvbvswREqNDqGiKNTGgenCKviSN iG7A8NHme8UQMhsyi/IfksoHMyUCkE9PYtnRB2tJ6hLpLTmH5OY+wnDdcuQSxgQGGAic 3n5MZNokzV5tQ5SBbO3lr//3squzriMuvjrSsH5YaC3G8Ou5pAPGMUiGOgmfqBsCwjcC lyzBe6KoB/dpkxYyWhqt2W2GMHFBh3J+KkxU9vh33f0x2XGB1WxMOJIJCdyEvtP8wpy/ nJzUVb6Ok4YkAteQF0a6xyqVqIjwb+vEh1pgjj2xcqFJ8O/uR/OGen5hnuUfMPRtIqM3 s5wQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector1 header.b="GXku23/n"; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t10-v6si16953441ply.181.2018.09.03.03.19.12; Mon, 03 Sep 2018 03:19:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector1 header.b="GXku23/n"; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727478AbeICOil (ORCPT + 13 others); Mon, 3 Sep 2018 10:38:41 -0400 Received: from mail-eopbgr40069.outbound.protection.outlook.com ([40.107.4.69]:30444 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727561AbeICOil (ORCPT ); Mon, 3 Sep 2018 10:38:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2zMc4kHuOwLRXPTuE8zHWzakK/RQG9ZUqyzWvPJhE3o=; b=GXku23/nIeFa29/M6BDzZMmV+sDKKFmsDJR9KoID1vSsKuBiXLsFxT6SmiuVcVlsBGSY/G7OhXOMJFcOmooewDxcgkdzij4+B0cG7sUoHMTyGcl+mHnCooZhYYvjHVhsm5Q/8S8fJ62EuUZDS34y1dDLljg6sC/cvccHbH6ElmY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=leonard.crestez@nxp.com; Received: from localhost.localdomain (95.76.156.53) by AM6PR04MB4295.eurprd04.prod.outlook.com (2603:10a6:209:4f::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.18; Mon, 3 Sep 2018 10:17:15 +0000 From: Leonard Crestez To: Anson Huang , Dong Aisheng Cc: Ranjani Vaidyanathan , Nitin Garg , Jason Liu , Pete Zhang , Zhou Peng , LnxRevLi , Ulf Hansson , "v4 . 11+" , "Rafael J . Wysocki" Subject: [PATCH imx_4.9.y 1/2] PM / Domains: Fix error path during attach in genpd Date: Mon, 3 Sep 2018 13:16:03 +0300 Message-Id: <071b6a4681c682759a41a91528c5e4a657bda445.1535744197.git.leonard.crestez@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [95.76.156.53] X-ClientProxiedBy: VI1P194CA0056.EURP194.PROD.OUTLOOK.COM (2603:10a6:803:3c::45) To AM6PR04MB4295.eurprd04.prod.outlook.com (2603:10a6:209:4f::33) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0552559a-112a-4f3d-ae45-08d611866c89 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR04MB4295; X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4295; 3:WEqxvt1sihC/NDyX6gPJ93gOm69Df52SLduzFOQePfLY823Tt7bPtMyZAuTDTQ76RMipELNVeW18YauA/wUHumSAzaSAnLkIFbDlskvVMWS1Kx9x8Q93ktASAU0ngRC6BUiyFhW63f2bkDVaQz7QEott/QuXzpLxPLJKTw5kRvbPv49+3cNcpBlp1xY0UrSsxYSzdtXWzVeZrzz6r9ji1A06gm3MUFr0jKTBcQevVgQ/44/RdXepGj7BJzTy675P; 25:dwQttCg/bj+0+wxmW4M54KuJ1jyEtfaYYM7RFee1a0YAAU65Gcdvkp1XFa6f4Do/RppQqRyZ9Jzu/XTFyRwXmxqkGUUQkyJSIEHhuc4SDT5SSdB3IjP9SADICpjTvv1ZKiDPcoFyIayuhoQxXCZR1Qcnyn6tUR1tkN34ucVBogfMkEBxKL5AiFPjM8eQuDeLh87dz6u8oxiZi/o0pF7a0sGVwwN68LmCRDew0p4LVEdBDzSUKsz4XB6rNvJb/C6gTYP/pP5UZabWuHlp+c31DtWsvicb9SkKMDMXuL9NqYRc/thY+LGY6VioP0MfjlRIDym7sI/xfEjUZ3FI9rzyUw==; 31:5yFYGOCDKEFwI6UpjbBueLVU6Uu1ww/5p5x/dT6ZXgnVs1Nl3rjIQ35zcyBvII6xNkprMk3yDo5CPV3MoyHVXB1gKdf4mudjm0rUp6az+/TtohKLZUncRqy8oCwNT9CAWVMT+wcXYfJt8HhBeDtttnQpv4LzuANJvAB05KOesJkM22Cr5kIEOyQ5eO5glXMjYN/nvP1o3Xe4OE5g4B0qXIq2kxg9KPnu39B1iuujcW0= X-MS-TrafficTypeDiagnostic: AM6PR04MB4295: X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4295; 20:S3il1AIaKumWwjjwN13YNZcNff5zcyllxTgG/u67tD0hqlcSAESxbzffh/ohIgTJ/KbxQ0awQHvvy0h2Eo8EBBFxWyTWJVB3qSc8Xm03lW220lhPHpFx2wiKRSLuZjlYcMuYWOfI5rr0ffZ6XgLmY6bAHU4hylK/l0msgbMwZi/JV9Xg3FDuZx1M3i2mOxiftBZloqXAN3mPwV55MBjcrl7oYQONNnPR1io026+YIVKZ83LqKuR1iMs1zvXRf7WTjvRNw3BSz6E5i4rxbvUblKIzPh2/jT77B9zg0pUN904r5rG7GHus45qBbWA5955AW9GM++cKxSu9dAr9Xwox8EsUr9FxlwzVLNLpaOmTV7eioV7oby8FP1UTjoGCViQZvXEST9RtSsvpAumtRQWS0ik7u1ZMaU+TfWHzrAoj6Yx/eF9KHHB3yAbrIZJLgBfvzcIXOXrSPUnQPOClqxbdT3l7ZfvnCHOfN/ODcb3X7ly38Dsj54bS8nRAkhhQoQS3; 4:0YUMiAIP3PKvYowYlkFbepNlfSH/T7lL0tN1d3qM4Tm6nLFz6I2lSUzLBIbwicjIulhYKdjsaHcdY0KXEQnAz8ZGOMMy0me90XP8In52Mcbwz1ZKOgGoZhasrYfwEQKIJBa2oc1proYhtreVlYqn4M3sZjE1reCB2QdkNCbMK9dTuONlpL8kD6jtHGlbJqg/isM4Cmy6PYGGJTGlUCcPNpAL3lZHoE5AO43J0zv0Yt3GLuYMPQY4JxjvI0qb3h2VRqvDW+yg7UV/I0HgRLX1+BLNLmFoT9XwU9TgMC/0V9kQAu3yl6HUEagZY/AOy3W+R4Blbk3+dTu6QAJRtmqBcwYNRzGXCRbhkQCls7I7qG2xm3T5A0RO/Y009ipKwate9qpU7DmDTyAnYTV4eQ1o+1tcicNIbNh7AQul7GbBaFY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(185117386973197)(269456686620040)(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(823301075)(93006095)(93001095)(3231311)(944501410)(52105095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201708071742011)(7699016); SRVR:AM6PR04MB4295; BCL:0; PCL:0; RULEID:; SRVR:AM6PR04MB4295; X-Forefront-PRVS: 0784C803FD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(346002)(376002)(366004)(396003)(136003)(39860400002)(189003)(199004)(316002)(50466002)(85306007)(3846002)(110136005)(8676002)(16586007)(6116002)(54906003)(68736007)(50226002)(118296001)(8936002)(7736002)(5660300001)(2906002)(305945005)(97736004)(81166006)(81156014)(48376002)(6636002)(6666003)(16526019)(47776003)(36756003)(6486002)(26005)(76176011)(6506007)(386003)(51416003)(52116002)(5024004)(14444005)(44832011)(478600001)(476003)(2616005)(956004)(66066001)(11346002)(446003)(486006)(6512007)(53936002)(105586002)(25786009)(4326008)(86362001)(106356001)(69590400005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR04MB4295; H:localhost.localdomain; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4295; 23:ZXcjBbaDuJKK9hRNRxQPKgi1c/lOV/PxiM6KP6B63rnvngR5JkcSrAMvfZbYeBPbz/dyc+43SuJ6Gsyf3yIuD6gAiNSwQslW/z8dO3z5RjlKWHPcoy91sAvdxni3rA/jKos5R9gyRfYNHQLNV5knFN7S8DiW2KVahcJ6ec0DCC+B4/88rrCSt/OW1WUohiOTi/xOzOBmXT9eMTZ0Vkf9mV6dnv134HK5qfibRZuvzI+eXl+rdtHF99wDwdjEeHJRwr/4j1JQr99L7zE1l9NMuSV3yNEnoh8o9L0qDMEbUAXbbkkvSUX31squO4ah1THBIkeewGLVAzNk5aeRpALpA07yw100muQo4vo/IqHjjdd5ElLT2g9/02JspuaZFgbAOKk+X7on/V+ZDBDSbIqFqFmbQdHYd7H+buxvIW3njsBo6k08ZnoqET86YZ9U3PHmuctINnnX8vRUowGz65HuLNPbforePQYZU4atNnh14Q/d7mRv2FnNKbvqI9tyE7kK98BzwoMxaG7XpdE+0r5AHvCpUdpGdYYHetptlogiesca/nK5NZBGdwWjzTNp4XHtD9Q9nZDm0A3Apjtu23hiXkLtae7SWxTgtVISgWW7twxyzIPCeO340D/UAS/hZ9uGj1phlG3+95zG6riekgY2BfVtE9WV+1+OfXPw0/BsPyq/AMgu896IU4IJMY8nHNTbu+9swPYqSfgzzgtKLhX57DGhW/STRmZZMj7GF+aHp5/P5J1zTQZ1RgDroaqfGT6SxLW0OSQxPlJJ5T6gYw/4T36n35gPGVZcjvxNlVQAasCFyB/gzzcO6pJmwG80CKtg193h9clHuoSjr+jD2w76KyvOscZirTbC0SIwC6hsaPKijDUUC0NKNQEShJ+bJvCpRLbxPCS+lJ7Sg+3EHMOOwvm0VTGD4jOgUUcXvt2pxb9Wko4k+o5JHEI79Ywb9+uTT53Xt9+0aAD+pOl+RWRR0XrA0lJjxbRY+Ed3cDKLTLxj2L+iomjT7fvNVqW4xK8rJZIF/LLYbCgHRfDPZZ0T+iPtV9By5BA3omjEAr7M+PDAvuII/xIHrpFFrF7UtjcrYLTzTLcQ7FdrejserLqBz9eY2DuNJTiN40rXNCEe8gm1LNAc1iYCPdP3Z/ZENy8C3RJCsQNqXj37DqJm6uc52h4tVdZmxKH4VpitQWY7vR7C73vKVASWeLIhCJpHlwl5k78k8CSE7tQ3uoQfnQ4RLk6A35mFGhJvqOHE29k+7+6dx6GapJdqftewpWAUfsLDtAhP3uTC6iRhNwPtn1jJ66geGRISfEQBNSYzT57xGfiCrr5ZtAb6OR1lnU0cG1lZRPfSXCS5Hh1gd5B5G2F09w== X-Microsoft-Antispam-Message-Info: fQ0etixwOl3xqWfr0yAVDk928V3EnkPOVJOLHwn77a4/0xj3Q3HcrBhNBVHqP/JcS46YN6uAWZNDityQEkiOqG/xDM1lI7+xU7+qhmDeL2mX115cmkUAGj1otveWNFj9LweTG7xig2MTHIJxdSDavsTpke8e+ZUPh/rWC5vU3X6Eh15xfgb15zB/lHE3/ZqLvON5PgZAkHNRgbz12rGA21VHQ9WgsznAkKGGcKQYJDKBcxwGKjRUhPe6/WjuSm6tKAXlgI5IhxlSNCw8/wVNotEt7P5jVQnemG+cIyobeQBSIiNAriOFnpjL+Ef46ZKHPGkAh6yB0jhJgldt5GEn7fvERg6SRVzLhCzicEs5F5g= X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4295; 6:qBAsGnYajnybjzk5v10+HkSxmGABZGsJ0p+xQCQaM1C2w71vE+kxf4S2+thr00vt6OZoOHmFoPMrIuPC58ZNFVWjpYtySp9rzYNjhgQT6bM8ROl4+/Xd5XZYX2oi8IJO7H8mt2UXEQgCNDCprYosBAmJ0/tHwN3qYH63A7u413uW4eVvdqMDCAX9DFAEh9lBxDFg6zmWMIiByahkGj6MwUfEgajfutTyEDp2XX8sNEUQIFDIV2OQJuKEdJU4auX2y8JYZ7v8gGWsimBRZvDwDhsfqIb+4FBK2rVfvN6bISMYo6BixLMHfbn62dzVghFaNuVNsYVWQ2oGVRoZ8LE2eWJ2jQy/NzOtuNSSkwdDKptUwlqmv8NzMXceHz6IJFKls7bFjWrhdhnHzcRMehDixSEBoBoDsI4ab6G7Trkb23lgr663UC3wnn14pf14CeiOL8TKQ+j8WAHw0X5J+tm19Q==; 5:zpmdrT+eq7Uh/lplxnb0q/MFp7wm1GjMpRNKhucVMkGTS2cW9yfGt9epA1vOZ+G53CmECsCSITz4fPHMBgp2gqCWsAQg7hSBNp9brQtwAlcVrEaInJpyw1wa3CJIuau00q22adtUpS4QW5E61SLNrbFAHldQZJnLBJy41mVT2sw=; 7:hR9d7oRjCxpht9ULDCilath/o326oA89h5ngsyhTlEdgtYJuxkOkUIhU7+v3JtMJAjT4ozeqrrT3EfOe9621sOl7PiOre6wnafLihA2v6s4aeedKhVNDqwlXD44269b8CEn4jA3mAmUtWxI/QOpONQxB2yD4Tqw5Sc4dqwrA6ZZVVd7GyzqXzKFfv4Zlnwgv6IPhr8C3Pm4IpDJfscShbYb0jDbZgpe9FcgwO+C4aJB3X00k4eY0/aWUG2JjwijX SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2018 10:17:15.6256 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0552559a-112a-4f3d-ae45-08d611866c89 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4295 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Ulf Hansson In case the PM domain fails to be powered on in genpd_dev_pm_attach(), it returns -EPROBE_DEFER, but keeping the device attached to its PM domain. This leads to problems when the next attempt to attach is re-tried. More precisely, in that situation an -EEXIST error code is returned, because the device already has its PM domain pointer assigned, from the first attempt. Now, because of the sloppy error handling by the existing callers of dev_pm_domain_attach(), probing is allowed to continue when -EEXIST is returned. However, in such case there are no guarantees that the PM domain is powered on by genpd, which may lead to hangs when buses/drivers tried to access their devices. Let's fix this behaviour, simply by detaching the device when powering on fails in genpd_dev_pm_attach(). Cc: v4.11+ # v4.11+ Signed-off-by: Ulf Hansson Signed-off-by: Rafael J. Wysocki (cherry picked from commit 72038df3c580c4c326b83c86149d7ac34007532a) Cherry-picked to imx_4.9.y with minimal conflicts so that we can properly handle errors from SCFW pm calls Signed-off-by: Leonard Crestez --- drivers/base/power/domain.c | 3 +++ 1 file changed, 3 insertions(+) -- 2.17.1 Reviewed-by: Dong Aisheng diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 9c3e535795a0..d9681d372997 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -1936,10 +1936,13 @@ int genpd_dev_pm_attach(struct device *dev) dev->pm_domain->sync = genpd_dev_pm_sync; mutex_lock(&pd->lock); ret = genpd_poweron(pd, 0); mutex_unlock(&pd->lock); + + if (ret) + genpd_remove_device(pd, dev); out: return ret ? -EPROBE_DEFER : 0; } EXPORT_SYMBOL_GPL(genpd_dev_pm_attach); #endif /* CONFIG_PM_GENERIC_DOMAINS_OF */