Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1296137pxf; Fri, 19 Mar 2021 04:07:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw9Nfwl+KWtyxu6dYhfvboEzBOXACtWo8SxKh7YOzB+ty0VoMyXsY81g+5dzjqUM+OQxX5y X-Received: by 2002:a05:6402:2076:: with SMTP id bd22mr8715597edb.378.1616152035322; Fri, 19 Mar 2021 04:07:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616152035; cv=none; d=google.com; s=arc-20160816; b=Q5tCe/TyLhL1OR8rCJsc0gs/Ev/D2SjqANUlcGvilXyFBuTxuUGm0URWgkmw3IbQng OQNWxWU+ldl+EO5ef8JzRwQvmvLf9OORjaYnqvT8bLf+2ED7ye1vsJVT5inJLl06xlkf +C/d6ULSoojTLwH/khtjPokYVW75/32S4KB6o6QDEq6aNvWxkgd2dgWex7+dWxymJ6NF CNFQ4lXABUMMCB8LDUIpveZ0X/n7e8496hxYREJoTsrpSC6dzJue1TqMu/rsK1Sl3nIx Ku3XUJ5UdeaYEgpYKixN7yKNvLxXevsqbN58tj+k7x1uQitSHdkhM4BX+LrYMxxj4mkL bTlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=hGatUBUm84mixELX0TV2YWE5lbir5GR0ogbqmv3IGKM=; b=ykWa8nHeLmrMTnSAP0y4ZnhNKgaQNtVf4d7vL3HCDIi2CLj3ghNpTsBNHOd5qszCEd P5GK42L66Bi4eWErBgVumCUBY03MwFpNweUdwOfXd/GetQAkSoOYHfGgj4/I+fYahboP CmR1MTcR1Zr/MVd8XuQxZEmy+/fP7UDrsen7MNTfmIBLTCnrrnK0f6/UnRZLheGwMxA5 TCjFlHfsYGuz2v3m44bbp6k64pRV83I6Zk5mtOAnP/0bTJ5DC30+T0SSkyWKPeY1m3gj xBPbtfBF9XAtt7IlnYQaSokr5LUDbo3vfnVSe//lxhYJtklfWmBn8y5x1KaXT77OxEzf wqHQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p11si3955439ejg.105.2021.03.19.04.06.52; Fri, 19 Mar 2021 04:07:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230020AbhCSLFf (ORCPT + 99 others); Fri, 19 Mar 2021 07:05:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230153AbhCSLFU (ORCPT ); Fri, 19 Mar 2021 07:05:20 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0A0EC06174A for ; Fri, 19 Mar 2021 04:05:19 -0700 (PDT) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lNCwG-0000xr-P8; Fri, 19 Mar 2021 12:05:08 +0100 Received: from afa by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1lNCwF-0004fQ-C2; Fri, 19 Mar 2021 12:05:07 +0100 From: Ahmad Fatoum To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Javier Martinez Canillas , Andrzej Hajda , Mark Brown Cc: kernel@pengutronix.de, andy.shevchenko@gmail.com, stable@kernel.org, Ahmad Fatoum , linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] driver core: clear deferred probe reason on probe retry Date: Fri, 19 Mar 2021 12:04:57 +0100 Message-Id: <20210319110459.19966-1-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: afa@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When retrying a deferred probe, any old defer reason string should be discarded. Otherwise, if the probe is deferred again at a different spot, but without setting a message, the now incorrect probe reason will remain. This was observed with the i.MX I2C driver, which ultimately failed to probe due to lack of the GPIO driver. The probe defer for GPIO doesn't record a message, but a previous probe defer to clock_get did. This had the effect that /sys/kernel/debug/devices_deferred listed a misleading probe deferral reason. Cc: stable@kernel.org Fixes: d090b70ede02 ("driver core: add deferring probe reason to devices_deferred property") Reviewed-by: Andy Shevchenko Signed-off-by: Ahmad Fatoum --- v1 -> v2: - reworded commit message (Andy) - collected Andy's Reviewed-by --- drivers/base/dd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 9179825ff646..e2cf3b29123e 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -97,6 +97,9 @@ static void deferred_probe_work_func(struct work_struct *work) get_device(dev); + kfree(dev->p->deferred_probe_reason); + dev->p->deferred_probe_reason = NULL; + /* * Drop the mutex while probing each device; the probe path may * manipulate the deferred list -- 2.29.2