u-boot/drivers
Mattijs Korpershoek 5f7e01e9d5 usb: gadget: fastboot: detach usb on reboot commands
When host issues "fastboot reboot fastboot", it's expected that the
board drops the USB connection before resetting.

On some boards, such as Khadas VIM3L and SEI610, this is not the case.

We observe the following error:
$ fastboot reboot fastboot
Rebooting into fastboot                            OKAY [  0.004s]
fastboot: error: Failed to boot into userspace fastboot; one or more components might be unbootable.

This does not happen when we use the RST button on the board.
It can be reproduced in linux with:
  # echo b > /proc/sysrq-trigger

In this case, we hit a undefined hardware behavior, where D+ and D-
are in an unknown state. Therefore the host can't detect usb
disconnection.

Make sure we always call usb_gadget_release() when a "fastboot reboot"
command is issued.

Note: usb_gadget_release() should be called before g_dnl_unregister()
because g_dnl_unregister() triggers a complete() call on each
endpoint (thus calling do_reset()).

Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
2022-10-10 18:08:18 +02:00
..
adc adc: meson-saradc: add AXG variant 2022-04-25 09:25:00 +02:00
ata blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator video: Rename structs and functions to avoid VBE 2022-08-12 08:14:23 -04:00
block blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
bootcount Convert CONFIG_SYS_BOOTCOUNT_LE et al to Kconfig 2022-07-07 14:01:09 -04:00
bus bus: ti-sysc: change in a normal driver 2021-03-22 19:23:27 +13:00
button button: gpio: add DM_GPIO dependency 2022-08-23 12:39:06 +02:00
cache drivers: cache: ncore: Disable snoop filter 2022-06-17 16:27:05 +08:00
clk clk: imx: clk-imx8mn add gpmi nand clocks 2022-10-09 10:42:26 +02:00
core regmap: fix range checks 2022-10-06 22:54:56 +02:00
cpu dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
crypto dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
ddr ddr: fsl: Fix re-align of verbose DRAM information for non-SPL builds 2022-09-23 15:13:18 -04:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
dma dma: ti: k3-udma: Fix 'SZ_64K’ undeclared error 2022-10-06 21:05:17 -04:00
fastboot Audit <flash.h> inclusion 2022-08-04 16:18:47 -04:00
firmware dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
fpga treewide: Drop image_header_t typedef 2022-09-29 16:07:57 -04:00
fuzz sandbox: Implement fuzzing engine driver 2022-06-23 12:58:19 -04:00
gpio gpio: ftgpio010: Add support for Faraday Technology FTGPIO010 2022-10-06 21:05:17 -04:00
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c i2c: add support for MediaTek I2C interface 2022-09-23 15:09:15 -04:00
input input: apple: Add support for Apple SPI keyboard 2022-02-10 16:44:23 -05:00
iommu iommu: Add M2 support to Apple DART driver 2022-07-25 09:38:47 -04:00
led led: pwm: Use NOP uclass driver for top-level node 2022-07-08 10:56:45 -04:00
mailbox mailbox: zynqmp: Enable ipi mailbox driver for Versal NET 2022-09-26 14:23:29 +02:00
memory keystone2: Move CONFIG_AEMIF_CNTRL_BASE out of CONFIG namespace 2021-09-27 21:38:34 -04:00
misc misc: usb251xb: Support 8/16 bit device tree values 2022-09-14 15:23:03 -04:00
mmc blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
mtd mtd: mxs_nand: Support EDO mode for imx8mn architecture 2022-10-09 10:42:26 +02:00
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net net: ti: am65-cpsw-nuss: Enable MDIO manual mode 2022-10-06 21:05:17 -04:00
nvme Merge branch 'master' into next 2022-09-19 16:07:12 -04:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: Add generic_{setup,shutdown}_phy() helpers 2022-10-10 18:08:18 +02:00
pinctrl pinctrl: mediatek: add pinctrl driver for MT7986 SoC 2022-09-23 15:09:15 -04:00
power sandbox: power: Update PMIC driver to use log 2022-09-29 16:07:57 -04:00
pwm pwm: mtk: add support for MediaTek MT7981 SoC 2022-09-23 15:09:15 -04:00
qe powerpc: remove support for kmtergr1 and MPC8309 2022-08-20 22:45:00 -04:00
ram Merge branch 'master' into next 2022-09-19 16:07:12 -04:00
reboot-mode reboot-mode: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset: zynqmp: Enable reset driver for Versal NET 2022-09-26 14:23:29 +02:00
rng drivers: rng: optee_rng: register to CONFIG_OPTEE_SERVICE_DISCOVERY 2022-09-14 15:23:03 -04:00
rtc treewide: Fix Marek's name and change my e-mail address 2022-07-21 10:14:04 +02:00
scsi sandbox: Convert to use driver model for SCSI 2022-09-25 13:59:50 -06:00
serial Merge branch 'next' of https://gitlab.denx.de/u-boot/custodians/u-boot-riscv into next 2022-09-26 11:27:30 -04:00
smem dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
soc soc: soc_ti_k3: identify j7200 SR2.0 SoCs 2022-07-06 14:30:51 -04:00
sound sound: enable building DA7219 driver with ACPIGEN=n 2022-07-08 09:05:47 -04:00
spi Xilinx changes for v2023.01-rc1 (round 2) 2022-09-26 11:28:14 -04:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo sysinfo: rcar3: Add Renesas R-Car Gen3 sysinfo driver 2021-07-20 23:33:54 +02:00
sysreset RISC-V: enable CONFIG_SYSRESET_SBI by default 2022-09-06 13:00:58 +08:00
tee blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
thermal WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
timer timer: orion-timer: Only init timer once 2022-10-06 10:15:35 +02:00
tpm tpm: Implement state command for Cr50 2022-09-03 16:59:05 +03:00
ufs lib: fix selection of CONFIG_CHARSET 2022-05-03 21:39:22 +02:00
usb usb: gadget: fastboot: detach usb on reboot commands 2022-10-10 18:08:18 +02:00
video cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
virtio blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
w1 arm: Remove zmx25 board and ARCH_MX25 2021-10-01 21:08:18 -04:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog Merge branch 'next' 2022-10-03 15:39:46 -04:00
xen blk: Rename if_type to uclass_id 2022-09-25 08:30:05 -06:00
Kconfig fuzzing_engine: Add fuzzing engine uclass 2022-06-23 12:58:18 -04:00
Makefile blk: Rename HAVE_BLOCK_DEVICE 2022-09-16 11:05:16 -04:00