u-boot-brain/drivers
Paul Kocialkowski bc9071c9f3 usb: gadget: fastboot: Dequeue the previous IN request for the current request
Recent versions of the fastboot tool will query the partition type before doing
an operation on a partition (such as erase, flash, etc). It will then submit
the operation as soon as the response for the partition type is received.

Usually, the MUSB controller will see that the partition type request return
status was read by the host at the very same time as the actual operation
request is submitted by the host. However, the operation will be read first
(int_rx is handled first in musb_interrupt) and after it is completed, the
fastboot USB gadget driver will send another return status. Hence, this happens
before the musb gadget framework has had a chance to handle the previous
acknowledgement that the host read the return status and dequeue the request.

The host will then usually empty the FIFO by the time musb_interrupt gets around
handling the return status acknowledgement (for the previous request, this is
still on the same musb_interrupt call), so no other interrupt is generated and
the most recent return status acknowledgement remains unaccounted for.

It will then be used as a response for the next command, and the proper response
for it will be delayed to the next command, and so on.

Dequeuing the previous IN request in the fastboot code ensures that no previous
return status remains. It is acceptable to do it since there is no callback to
it anyways.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2015-07-22 08:57:54 +02:00
..
bios_emulator biosemu: Do not free vga_info->BIOSImage when it is 0xc0000 2015-04-29 18:51:49 -06:00
block drivers: block: Remove the ata_piix driver 2015-07-14 18:03:20 -06:00
bootcount qe: move immap_qe.h from arch directory into common directory 2014-07-22 16:25:54 -07:00
core Remove SPL undefine of CONFIG_OF_CONTROL 2015-06-10 19:26:55 -06:00
cpu x86: Move MP initialization codes into a common place 2015-07-14 18:03:16 -06:00
crypto Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx 2015-03-05 20:50:30 -05:00
ddr driver/ddr/fsl: Add a hook to update SPD address 2015-07-20 11:44:35 -07:00
demo common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
dfu usb: USB download gadget and functions config options coherent naming 2015-07-22 08:57:53 +02:00
dma dma: keystone_nav: remove spurious qm_cfg verification 2014-11-06 11:04:39 -05:00
fpga fpga: xilinx: Show fpga info if defined 2015-01-21 10:25:43 +01:00
gpio Merge branch 'u-boot/master' into 'u-boot-arm/master' 2015-07-07 11:38:44 +02:00
hwmon dtt: add ds620 support 2015-04-10 14:23:23 +02:00
i2c exynos: i2c: Correct bug in pinmux selection 2015-07-10 21:13:48 +09:00
input i8042: Add keyboard enable logic in kbd_reset() 2015-04-18 11:11:16 -06:00
memory ARM: keystone: aemif: move aemif driver to drivers/memory/ti-aemif.c 2014-06-19 17:53:58 -04:00
misc driver/fsl_debug_server: Fix the DDR hide logic for LS2085a 2015-07-20 11:44:35 -07:00
mmc mmc: sdhci.c: Add config option to use a fixed buffer for transfers 2015-07-10 14:54:05 +02:00
mtd mtd: fix false positive "Offset exceeds device limit" error 2015-07-10 09:38:50 -04:00
net driver/ldpaa_eth:Avoid infinite loop in ldpaa_eth_rx 2015-07-20 11:44:37 -07:00
pci armv8/fsl-lsch3: device tree fixups for PCI stream IDs 2015-07-20 11:44:37 -07:00
pcmcia powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
power sandbox: add: sandbox PMIC device drivers: I2C emul, pmic, regulator 2015-05-14 19:58:34 -06:00
pwm pwm: imx: Remove unreachable code 2015-05-26 14:13:12 +02:00
qe QE/DeepSleep: add QE deepsleep support for mpc85xx 2015-04-21 10:19:19 -07:00
rtc dm: rtc: Support mc146818 driver in driver model 2015-07-14 18:03:16 -06:00
serial arm: dcc: Add uart dcc support for armv8 2015-07-07 11:39:39 +02:00
soc soc: keystone_serdes: generalize configuration mechanism 2014-10-23 11:27:28 -04:00
sound sandbox: exynos: Move CONFIG_SOUND_SANDBOX to Kconfig 2015-04-18 11:11:39 -06:00
spi fdt: armv8: Fix build warnings on armv8 2015-07-20 07:21:47 -06:00
thermal thermal: imx_thermal: increase critical temperature threshold 2015-05-26 14:21:25 +02:00
tpm tpm: Support using driver model with I2C 2015-05-14 18:49:33 -06:00
twserial
usb usb: gadget: fastboot: Dequeue the previous IN request for the current request 2015-07-22 08:57:54 +02:00
video video: vesa_fb: Look up VGA device by class instead of id 2015-07-14 18:03:18 -06:00
watchdog watchdog/imx_watchdog: do not set WCR_WDW 2015-03-25 16:52:16 +01:00
Kconfig Move default y configs out of arch/board Kconfig 2015-06-25 22:17:55 -04:00
Makefile dm: Implement a CPU uclass 2015-04-29 21:02:33 -06:00