Re: [PATCH v4] usb: dwc3: Don't switch OTG -> peripheral if extcon is present

From: Andy Shevchenko
Date: Thu Sep 22 2022 - 09:29:24 EST


On Thu, Sep 22, 2022 at 12:23:04PM +0200, Ferry Toth wrote:
> On 22-09-2022 12:08, Andy Shevchenko wrote:
> > On Sun, Apr 03, 2022 at 09:49:07AM -0700, Andrey Smirnov wrote:
> > > If the extcon device exists, get the mode from the extcon device. If
> > > the controller is DRD and the driver is unable to determine the mode,
> > > only then default the dr_mode to USB_DR_MODE_PERIPHERAL.
> > According to Ferry (Cc'ed) this broke Intel Merrifield platform. Ferry, can you
> > share bisect log?
>
> I can but not right now. But what I did was bisect between 5.18.0 (good) and
> 5.19.0 (bad) then when I got near the culprit (~20 remaining) based on the
> commit message I tried 0f01017191384e3962fa31520a9fd9846c3d352f "usb: dwc3:
> Don't switch OTG -> peripheral if extcon is present" (bad) and commit before
> that (good).
>
> The effect of the patch is that on Merrifield (I tested with Intel Edison
> Arduino board which has a HW switch to select between host and device mode)
> device mode works but in host mode USB is completely not working.
>
> Currently on host mode - when working - superfluous error messages from
> tusb1210 appear. When host mode is not working there are no tusb1210
> messages in the logs / on the console at all. Seemingly tusb1210 is not
> probed, which points in the direction of a relation to extcon.
>
> > Taking into account the late cycle, I would like to revert the change. And
> > Ferry and I would help to test any other (non-regressive) approach).

> I have not yet tested if a simple revert fixes the problem but will tonight.

For clean revert you might need to revert the merge conflict fixes first:
8bd6b8c4b100 ("USB: fixup for merge issue with "usb: dwc3: Don't switch
OTG -> peripheral if extcon is present"").

> I would be happy to test other approaches too.

--
With Best Regards,
Andy Shevchenko