linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matthias Kaehlcke <mka@chromium.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Douglas Anderson <dianders@chromium.org>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	Stefan Wahren <stefan.wahren@i2se.com>,
	Matthias Kaehlcke <mka@chromium.org>,
	Ravi Chandra Sadineni <ravisadineni@chromium.org>
Subject: [PATCH] usb: misc: onboard_usb_hub: Don't defer probing for 'incomplete' DT nodes
Date: Tue, 20 Dec 2022 00:45:01 +0000	[thread overview]
Message-ID: <20221220004427.1.If5e7ec83b1782e4dffa6ea759416a27326c8231d@changeid> (raw)

Some boards have device tree nodes for USB hubs supported by the
onboard_usb_hub driver, but the nodes don't have all properties
needed for the driver to work properly (which is not necessarily
an error in the DT). Currently _find_onboard_hub() returns
-EPROBE_DEFER in such cases, which results in an unusable USB hub,
since successive probes fail in the same way. Use the absence of
the "vdd" supply as an indicator of such 'incomplete' DT nodes
and return -ENODEV.

Fixes: 8bc063641ceb ("usb: misc: Add onboard_usb_hub driver")
Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
---

 drivers/usb/misc/onboard_usb_hub.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
index d63c63942af1..2968da515016 100644
--- a/drivers/usb/misc/onboard_usb_hub.c
+++ b/drivers/usb/misc/onboard_usb_hub.c
@@ -363,6 +363,15 @@ static struct onboard_hub *_find_onboard_hub(struct device *dev)
 	hub = dev_get_drvdata(&pdev->dev);
 	put_device(&pdev->dev);
 
+	/*
+	 * Some boards have device tree nodes for USB hubs supported by this
+	 * driver, but the nodes don't have all properties needed for the driver
+	 * to work properly. Use the absence of the "vdd" supply as an indicator
+	 * of such nodes.
+	 */
+	if (!of_get_property(pdev->dev.of_node, "vdd", NULL))
+		return ERR_PTR(-ENODEV);
+
 	/*
 	 * The presence of drvdata ('hub') indicates that the platform driver
 	 * finished probing. This handles the case where (conceivably) we could
-- 
2.39.0.314.g84b9a713c41-goog


             reply	other threads:[~2022-12-20  0:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-20  0:45 Matthias Kaehlcke [this message]
2022-12-20  6:24 ` [PATCH] usb: misc: onboard_usb_hub: Don't defer probing for 'incomplete' DT nodes Thorsten Leemhuis
2022-12-20  6:58 ` Greg Kroah-Hartman
2022-12-20  7:55 ` Johan Hovold
2022-12-20 14:15   ` Matthias Kaehlcke
2022-12-23 13:42     ` Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221220004427.1.If5e7ec83b1782e4dffa6ea759416a27326c8231d@changeid \
    --to=mka@chromium.org \
    --cc=dianders@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=ravisadineni@chromium.org \
    --cc=stefan.wahren@i2se.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).