linux/drivers/usb/gadget/udc/aspeed-vhub
Joel Stanley 48ed32482c usb: gadget: aspeed: Fix probe regression
Since commit fc274c1e99 ("USB: gadget: Add a new bus for gadgets"),
the gadget devices are proper driver core devices, which caused each
device to request pinmux settings:

 aspeed_vhub 1e6a0000.usb-vhub: Initialized virtual hub in USB2 mode
 aspeed-g5-pinctrl 1e6e2080.pinctrl: pin A7 already requested by 1e6a0000.usb-vhub; cannot claim for gadget.0
 aspeed-g5-pinctrl 1e6e2080.pinctrl: pin-232 (gadget.0) status -22
 aspeed-g5-pinctrl 1e6e2080.pinctrl: could not request pin 232 (A7) from group USB2AD  on device aspeed-g5-pinctrl
 g_mass_storage gadget.0: Error applying setting, reverse things back

The vhub driver has already claimed the pins, so prevent the gadgets
from requesting them too by setting the magic of_node_reused flag. This
causes the driver core to skip the mux request.

Reported-by: Zev Weiss <zev@bewilderbeest.net>
Reported-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
Fixes: fc274c1e99 ("USB: gadget: Add a new bus for gadgets")
Cc: stable@vger.kernel.org
Signed-off-by: Joel Stanley <joel@jms.id.au>
Tested-by: Zev Weiss <zev@bewilderbeest.net>
Tested-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
Link: https://lore.kernel.org/r/20221017053006.358520-1-joel@jms.id.au
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-10-22 12:38:43 +02:00
..
core.c usb: gadget: aspeed: Remove repeated verbose license text 2021-08-26 13:26:07 +02:00
dev.c usb: gadget: aspeed: Fix probe regression 2022-10-22 12:38:43 +02:00
ep0.c usb: aspeed-vhub: fix ep0 OUT ack received wrong length issue 2021-12-13 15:01:46 +01:00
epn.c usb: gadget: aspeed: remove usage of list iterator past the loop body 2022-03-15 18:19:44 +01:00
hub.c usb: aspeed-vhub: Fix refcount leak bug in ast_vhub_init_desc() 2022-07-14 16:10:12 +02:00
Kconfig usb: gadget: aspeed: add ast2600 vhub support 2020-03-15 12:11:47 +02:00
Makefile
vhub.h usb: aspeed-vhub: add qualifier descriptor 2021-12-13 15:00:43 +01:00