Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp322624pxf; Thu, 18 Mar 2021 00:41:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzQgpSYEJzo/Ik8X1gXFFkGFI6Pq2vwIm9P6ZxpfB4kk1bSXmUCFiQqamXL7RZ+9GXDlZ+7 X-Received: by 2002:aa7:d4d2:: with SMTP id t18mr1981809edr.342.1616053299082; Thu, 18 Mar 2021 00:41:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616053299; cv=none; d=google.com; s=arc-20160816; b=PjLrUivgbD9GhqUm352lKLU6Po6A9VX2kmMgL8TWyNBeeKWhK7IQm5q4N9NWdf5R92 KsZYgU8B9ypQYfjEACDwFiahwhOJRhCfWfKktff66eM6wIY76Iq8MCAq5l3CzCZ8FQ3d fMZv2u1k3njtp8d1aZFuc6RFKw/BsxNqb9teKLNevwTrjKV6O4TqjCaOXyTIl70eFRZl tJAgwMpWzO9wxk4IidANVKX7rxkBPsWtU02iW5u0zUjdX/aalbcXMKAvyI3NCjlA0qPd /XrUzju9c8ZLRWwc1ySawcQ7vTd5SJYFH+t3+uKfAAxqKVh0TWU39bqwi0yXveB0auiT ObUQ== 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=HKNX66vQSPWTInlN4FJqwREyVpM4UOV7tfZNiA4jKZA=; b=dWqoEdqxc15fo+5N0JrnNeImvmr54/GdjUc3yfjZ0Mv71biVDpBfWwX+jQXlwmhNrs 11jyMilf0UzCaYmPAnsmOEPO+5U9TqN5HJIs1h7HtuBI+tr3k/qH6P2nug20H9fQeaTK EcQo65KGZqTF2R+ZZAmfxlMKkP4APv/k6SNMcmxMr+cMeIrmKm0ge/zk1SXCYH3iRwGH SaHT5w7ihbrBBidOv01yrHf9lZx7qljWn5ypmGtawXfyJMDs/SjSLu4xZkWVAXehqCXf lD/TJGuEU30WaasoAElqcGqQpiofpcJIRSn2hE0GZLHK9Irrj4fbIq5GDRDZD8acwKdh 6ThA== 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 h12si1052783ejx.570.2021.03.18.00.41.16; Thu, 18 Mar 2021 00:41:39 -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 S229690AbhCRHkM (ORCPT + 99 others); Thu, 18 Mar 2021 03:40:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50988 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229749AbhCRHjx (ORCPT ); Thu, 18 Mar 2021 03:39:53 -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 17810C06174A for ; Thu, 18 Mar 2021 00:39:53 -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 1lMnFw-0008LU-QZ; Thu, 18 Mar 2021 08:39:44 +0100 Received: from afa by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1lMnFv-0003QY-3D; Thu, 18 Mar 2021 08:39:43 +0100 From: Ahmad Fatoum To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Mark Brown , Andrzej Hajda , Andy Shevchenko Cc: kernel@pengutronix.de, stable@kernel.org, Ahmad Fatoum , linux-kernel@vger.kernel.org Subject: [PATCH 1/2] driver core: clear deferred probe reason on probe retry Date: Thu, 18 Mar 2021 08:39:19 +0100 Message-Id: <20210318073921.13093-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 probe is deferred again at a different spot, but without setting a message, a 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") Signed-off-by: Ahmad Fatoum --- 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