| #
1422d140 |
| 29-Oct-2023 |
Hector Martin <marcan@marcan.st> |
BACKPORT: usb: xhci: Guard all calls to xhci_wait_for_event
xhci_wait_for_event returns NULL on timeout, so the caller always has to check for that. This addresses immediate explosions in this part
BACKPORT: usb: xhci: Guard all calls to xhci_wait_for_event
xhci_wait_for_event returns NULL on timeout, so the caller always has to check for that. This addresses immediate explosions in this part of the code when timeouts happen, but not the root cause for the timeout.
Change-Id: Ib899b615349ed5d1d00885b6508c765b6e773d6a Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: William Wu <william.wu@rock-chips.com> (cherry picked from commit 8d1e03f984c7467d7c8883f15dea14b2f8b4c0e2)
show more ...
|
| #
0c195942 |
| 27-Sep-2021 |
Stefan Agner <stefan@agner.ch> |
UPSTREAM: usb: xhci: reset endpoint on USB stall
There are devices which cause a USB stall when trying to read strings. Specifically Arduino Mega R3 stalls when trying to read the product string.
T
UPSTREAM: usb: xhci: reset endpoint on USB stall
There are devices which cause a USB stall when trying to read strings. Specifically Arduino Mega R3 stalls when trying to read the product string.
The stall currently remains unhandled, and subsequent retries submit new transfers on a stopped endpoint which ultimately cause a crash in abort_td(): WARN halted endpoint, queueing URB anyway. XHCI control transfer timed out, aborting... Unexpected XHCI event TRB, skipping... (3affe040 00000000 13000000 02008401) BUG at drivers/usb/host/xhci-ring.c:505/abort_td()! BUG! resetting ...
Linux seems to be able to recover from the stall by issuing a TRB_RESET_EP command.
Introduce reset_ep() which issues a TRB_RESET_EP followed by setting the transfer ring dequeue pointer via TRB_SET_DEQ. This allows to properly recover from a USB stall error and continue communicating with the USB device.
Change-Id: I3412ae470addfe67f71f2cbf4b1dfc8fcaf85c78 Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: William Wu <william.wu@rock-chips.com> (cherry picked from commit d5daa02d8d9e7c403a3339db1966e8413e64e408)
show more ...
|
| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
58693cd5 |
| 08-Nov-2019 |
Chunfeng Yun <chunfeng.yun@mediatek.com> |
UPSTREAM: usb: xhci: support 1.1 or later version
The xHCI 1.1 version also need set Transfer Type field
Change-Id: Icd6c9f61352f56037566c356773a1908726897ab Signed-off-by: Chunfeng Yun <chunfeng.y
UPSTREAM: usb: xhci: support 1.1 or later version
The xHCI 1.1 version also need set Transfer Type field
Change-Id: Icd6c9f61352f56037566c356773a1908726897ab Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit e0891bb679200a8cc73c3b3d98ba40c02c31b850)
show more ...
|
| #
143fc13b |
| 11-Sep-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: xhci: move xhci.h to include usb
The xhci.h header file is currently located under drivers/usb/xhci Move it to the include/usb folder to make it available to drivers that are not unde
UPSTREAM: usb: xhci: move xhci.h to include usb
The xhci.h header file is currently located under drivers/usb/xhci Move it to the include/usb folder to make it available to drivers that are not under drivers/usb/xhci
Change-Id: I13705562893b30327708fbc321547bac79615785 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 1708a12377b98397606677e117f93f07d7cd2f7e)
show more ...
|
| #
0b717d3e |
| 20-Jan-2018 |
Gustavo A. R. Silva <gustavo@embeddedor.com> |
UPSTREAM: usb: xhci: Fix bool initialization in xhci_bulk_tx
Bool initializations should use true and false.
This issue was detected with the help of Coccinelle.
Change-Id: I0764368f0b911e5f5c5b2b
UPSTREAM: usb: xhci: Fix bool initialization in xhci_bulk_tx
Bool initializations should use true and false.
This issue was detected with the help of Coccinelle.
Change-Id: I0764368f0b911e5f5c5b2bd425c01fc68a4a3227 Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Marek Vasut <marex@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit eacccbda431c4eff9073f2b4abfaba88524cd12f)
show more ...
|
| #
211aaf30 |
| 29-Jul-2017 |
Tom Rini <trini@konsulko.com> |
Merge git://git.denx.de/u-boot-usb
|
| #
43eb0d44 |
| 19-Jul-2017 |
Bin Meng <bmeng.cn@gmail.com> |
usb: xhci: Correct command TRB 4th dword initialization
In xhci_queue_command(), when the command is not 'reset endpoint', 'stop endpoint' or 'set TR dequeue pointer', endpoint ID should not be enco
usb: xhci: Correct command TRB 4th dword initialization
In xhci_queue_command(), when the command is not 'reset endpoint', 'stop endpoint' or 'set TR dequeue pointer', endpoint ID should not be encoded in the TRB.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de> Tested-by: Stefan Roese <sr@denx.de>
show more ...
|
| #
5d97dff0 |
| 21-Sep-2016 |
Masahiro Yamada <yamada.masahiro@socionext.com> |
treewide: replace #include <asm-generic/errno.h> with <linux/errno.h>
Now, include/linux/errno.h is a wrapper of <asm-generic/errno.h>. Replace all include directives for <asm-generic/errno.h> with
treewide: replace #include <asm-generic/errno.h> with <linux/errno.h>
Now, include/linux/errno.h is a wrapper of <asm-generic/errno.h>. Replace all include directives for <asm-generic/errno.h> with <linux/errno.h>.
<asm-generic/...> is supposed to be included from <asm/...> when arch-headers fall back into generic implementation. Generally, they should not be directly included from .c files.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [trini: Add drivers/usb/host/xhci-rockchip.c] Signed-off-by: Tom Rini <trini@konsulko.com>
show more ...
|
| #
b939689c |
| 05-May-2015 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
Merge branch 'u-boot/master' into 'u-boot-arm/master'
|
| #
7c1deec0 |
| 25-Mar-2015 |
Simon Glass <sjg@chromium.org> |
dm: usb: xhci: Use a function to get xhci_ctrl
Rather than getting this directly from struct usb_device, call a function to obtain it. This will make it possible for driver model to provide it anoth
dm: usb: xhci: Use a function to get xhci_ctrl
Rather than getting this directly from struct usb_device, call a function to obtain it. This will make it possible for driver model to provide it another way.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Vasut <marex@denx.de>
show more ...
|
| #
421a5a0c |
| 01-Apr-2015 |
Sergey Temerkhanov <s.temerkhanov@gmail.com> |
usb: 64-bit architectures support for xHCI
This commit allows xHCI to use both 64 and 32 bit memory physical addresses depending on architecture it's being built for. Also it makes use of readq()/wr
usb: 64-bit architectures support for xHCI
This commit allows xHCI to use both 64 and 32 bit memory physical addresses depending on architecture it's being built for. Also it makes use of readq()/writeq() on 64-bit systems
Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com> Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
show more ...
|
| #
b4141195 |
| 06-Nov-2014 |
Masahiro Yamada <yamada.m@jp.panasonic.com> |
linux/kernel.h: sync min, max, min3, max3 macros with Linux
U-Boot has never cared about the type when we get max/min of two values, but Linux Kernel does. This commit gets min, max, min3, max3 mac
linux/kernel.h: sync min, max, min3, max3 macros with Linux
U-Boot has never cared about the type when we get max/min of two values, but Linux Kernel does. This commit gets min, max, min3, max3 macros synced with the kernel introducing type checks.
Many of references of those macros must be fixed to suppress warnings. We have two options: - Use min, max, min3, max3 only when the arguments have the same type (or add casts to the arguments) - Use min_t/max_t instead with the appropriate type for the first argument
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Pavel Machek <pavel@denx.de> Acked-by: Lukasz Majewski <l.majewski@samsung.com> Tested-by: Lukasz Majewski <l.majewski@samsung.com> [trini: Fixup arch/blackfin/lib/string.c] Signed-off-by: Tom Rini <trini@ti.com>
show more ...
|
| #
748bde60 |
| 21-Oct-2013 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
5853e133 |
| 14-Sep-2013 |
Vivek Gautam <gautam.vivek@samsung.com> |
USB: xHCI: Add stack support for xHCI
This adds stack layer for eXtensible Host Controller Interface which facilitates use of USB 3.0 in host mode.
Adapting xHCI host controller driver in linux-ker
USB: xHCI: Add stack support for xHCI
This adds stack layer for eXtensible Host Controller Interface which facilitates use of USB 3.0 in host mode.
Adapting xHCI host controller driver in linux-kernel by Sarah Sharp to needs in u-boot.
Initial porting from Linux kernel version 3.4, with following top commit history of drivers/usb/host/xhci* : cf84055 xHCI: Cleanup isoc transfer ring when TD length mismatch found
This adds the basic xHCI host controller driver with bare minimum features: - Control/Bulk transfer support has been added with required infrastructure for necessary xHC data structures. - Stream protocol hasn't been supported yet. - No support for quirky devices has been added.
Signed-off-by: Vikas C Sajjan <vikas.sajjan@samsung.com> Signed-off-by: Julius Werner <jwerner@chromium.org> Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> Cc: Simon Glass <sjg@chromium.org> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Dan Murphy <dmurphy@ti.com> Cc: Marek Vasut <marex@denx.de>
show more ...
|