u-boot/drivers
Stephen Warren fb22ae6c7e usb: ci_udc: fix interaction with CONFIG_USB_ETH_CDC
ci_udc.c's usb_gadget_unregister_driver() doesn't call driver->unbind()
unlike other USB gadget drivers. Fix it to do this.

Without this, when ether.c's CDC Ethernet device is torn down,
eth_unbind() is never called, so dev->gadget is never set to NULL.
For some reason, usb_eth_halt() is called both at the end of the first
use of the Ethernet device, and prior to any subsequent use. Since
dev->gadget is never cleared, all calls to usb_eth_halt() attempt to
stop, disconnect, and clean up the device, resulting in double cleanup,
which hangs U-Boot on my Tegra device at least.

ci_udc allocates its own singleton EP0 request object, and cleans it up
during usb_gadget_unregister_driver(). This appears necessary when using
the USB gadget framework in U-Boot, since that does not allocate/free
the EP0 request. However, the CDC Ethernet driver *does* allocate and
free its own EP0 requests. Consequently, we must protect
ci_ep_free_request() against double-freeing the request.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-06-25 22:22:20 +02:00
..
bios_emulator kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
block ahci: Fix data abort on multiple scsi resets. 2014-04-02 15:44:40 -04:00
bootcount i2c, bootcount: add support for bootcounter on i2c devices 2014-02-20 06:46:56 +01:00
core dm: Cast away the const-ness of the global_data pointer 2014-06-20 11:55:49 -06:00
crypto includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
ddr/fsl driver/ddr/fsl: Fix printing unspecified module info for DDR4 2014-06-05 13:45:07 -07:00
demo dm: Rename struct device_id to udevice_id 2014-06-20 11:55:18 -06:00
dfu dfu: Disable default calculation of CRC32 2014-06-11 02:31:48 +02:00
dma drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
fpga m68k: Fix warnings with gcc 4.6 2014-06-11 16:27:05 -04:00
gpio dm: Use case-insensitive comparison for GPIO banks 2014-06-20 11:55:39 -06:00
hwmon kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
i2c i2c: kona: Resolve Kona I2C driver issue 2014-06-12 11:42:50 +02:00
input cros_ec: Support systems with no EC interrupt 2014-03-17 20:05:46 -06:00
misc includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
mmc includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
mtd Merge branch 'master' of git://git.denx.de/u-boot-spi 2014-06-11 11:40:11 -04:00
net net: sh-eth: Fix typo from rESR_RTLF to EESR_RTLF 2014-06-10 17:05:03 +09:00
pci fsl/pci: Add workaround for erratum A-005434 2014-05-16 16:24:26 -05:00
pcmcia powerpc: remove RPXClassic, RPXlite boards support 2014-04-18 10:42:30 -04:00
power pmic: tps65090: correct checking i2c bus 2014-06-19 11:19:05 -04:00
qe qe: disable qe when qe-ucode fails to be uploaded for "deep sleep" 2014-05-13 08:26:56 -07:00
rtc kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
serial serial: nsl16550: add hw flow control support 2014-05-12 15:19:45 -04:00
sound sound: Move Samsung-specific code into its own file 2014-03-17 20:05:49 -06:00
spi Merge branch 'master' of git://git.denx.de/u-boot-spi 2014-06-11 11:40:11 -04:00
tpm sandbox: tpm: Fix nvwrite command 2014-01-08 17:26:17 -07:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb usb: ci_udc: fix interaction with CONFIG_USB_ETH_CDC 2014-06-25 22:22:20 +02:00
video Merge remote-tracking branch 'u-boot/master' 2014-05-20 10:05:42 +02:00
watchdog Merge branch 'iu-boot/master' into 'u-boot-arm/master' 2013-11-09 22:59:47 +01:00
Makefile drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00