usb: dwc3: Don't switch OTG -> peripheral if extcon is present
authorAndrey Smirnov <andrew.smirnov@gmail.com>
Mon, 17 Oct 2022 23:35:10 +0000 (02:35 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 Oct 2022 10:29:43 +0000 (12:29 +0200)
commitd182c2e1bc92084c038b44c618f29589a4de9f66
tree6c79831bc9e5bf90f7a6c253d638c3d2f06ce146
parent593c5ba288e118ad80b41e8339f0d0dcad65eb04
usb: dwc3: Don't switch OTG -> peripheral if extcon is present

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.

Reported-by: Steev Klimaszewski <steev@kali.org>
Fixes: 7a84e7353e23 ("Revert "usb: dwc3: Don't switch OTG -> peripheral if extcon is present"")
Cc: stable <stable@kernel.org>
Reviewed-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Steev Klimaszewski <steev@kali.org>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20221017233510.53336-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/core.c
drivers/usb/dwc3/drd.c