mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
To: Janne Grunau <j@jannau.net>
Cc: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	Sven Peter <sven@svenpeter.de>,
	"stable@kernel.org" <stable@kernel.org>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/1] usb: dwc3: Do not get extcon device when usb-role-switch is used
Date: Tue, 8 Nov 2022 02:02:19 +0000	[thread overview]
Message-ID: <20221108020208.y3hrbpaxmzke2lms@synopsys.com> (raw)
In-Reply-To: <20221106214804.2814-1-j@jannau.net>

Hi,

On Sun, Nov 06, 2022, Janne Grunau wrote:
> The change breaks device tree based platforms with PHY device and use
> usb-role-switch instead of an extcon switch. extcon_find_edev_by_node()
> will return EPROBE_DEFER if it can not find a device so probing without
> an extcon device will be deferred indefinitely. Fix this by
> explicitly checking for usb-role-switch.
> At least the out-of-tree USB3 support on Apple silicon based platforms
> using dwc3 with tipd USB Type-C and PD controller is affected by this
> issue.
> 
> Fixes: d182c2e1bc92 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present")
> Cc: stable@kernel.org
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---
>  drivers/usb/dwc3/core.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
> index c0e7c76dc5c8..1f348bc867c2 100644
> --- a/drivers/usb/dwc3/core.c
> +++ b/drivers/usb/dwc3/core.c
> @@ -1710,6 +1710,16 @@ static struct extcon_dev *dwc3_get_extcon(struct dwc3 *dwc)
>  	if (device_property_read_string(dev, "linux,extcon-name", &name) == 0)
>  		return extcon_get_extcon_dev(name);
>  
> +	/*
> +	 * Check explicitly if "usb-role-switch" is used since
> +	 * extcon_find_edev_by_node() can not be used to check the absence of

can not -> can't or cannot

> +	 * an extcon device. In the absence of an device it will always return

"a" device,

> +	 * EPROBE_DEFER.
> +	 */
> +	if (IS_ENABLED(CONFIG_USB_ROLE_SWITCH) &&
> +	    device_property_read_bool(dev, "usb-role-switch"))
> +		return NULL;
> +
>  	/*
>  	 * Try to get an extcon device from the USB PHY controller's "port"
>  	 * node. Check if it has the "port" node first, to avoid printing the
> -- 
> 2.37.3
> 

Looks like the "port" node check from c824c73a5e08 ("usb: dwc3: drd:
Avoid error when extcon is missing") did not account for this platform
setup.

This looks fine to me. Should we cleanup the incomplete check and stale
comment right after this too (as a separate patch)?

Thanks,
Thinh

  parent reply	other threads:[~2022-11-08  2:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-06 21:48 Janne Grunau
2022-11-07 11:25 ` Andy Shevchenko
2022-11-07 16:00   ` Sven Peter
2022-11-08  2:02 ` Thinh Nguyen [this message]
2022-11-08 15:43   ` Greg Kroah-Hartman
2022-11-08 17:54     ` Thinh Nguyen

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=20221108020208.y3hrbpaxmzke2lms@synopsys.com \
    --to=thinh.nguyen@synopsys.com \
    --cc=andrew.smirnov@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=j@jannau.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stable@kernel.org \
    --cc=sven@svenpeter.de \
    /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

all inboxes | Powered by JetHome®