-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dwc_otg: add handling of SPLIT transaction data toggle errors #242
Conversation
Previously a data toggle error on packets from a USB1.1 device behind a TT would result in the Pi locking up as the driver never handled the associated interrupt. Patch adds basic retry mechanism and interrupt acknowledgement to cater for either a chance toggle error or for devices that have a broken initial toggle state (FT8U232/FT232BM).
dwc_otg: add handling of SPLIT transaction data toggle errors
Thanks, fix available through rpi-update for testing. |
Hi All, Sorry I would like to reopen this issue. Since commit of this code my RasPi will not reboot correctly. Basically it appears to gets stuck post loader, pre kernel stage, as syslog is clean, and the screen is stuck at the syslog message. The only way to recover is to power cycle. On the next boot the RasPi will come up clean. The firmware is the latest as of today. 26/3. I've reverted the two commits that have dealt with dwg_otg c4564d4 & f676910 (this one) and the reboot issue goes away. RasPi has a D-Link Dub-H4 attached. Any ideas? John |
So to be clear it's f676910 that causes your raspi to hang on boot? How are you building/installing the firmware? Can we get a picture of the hang? |
Yes, that is my belief. The hangs are as follows.... As it appears to be USB traffic issue, I've also tested a TP-Link WN422N When I use a kernel with the two commits (mentioned above) removed all appears to be fine. |
So steps to reproduce so far:
Once we eliminate those variables, then:
|
WARNING: space prohibited between function name and open parenthesis '(' raspberrypi#242: FILE: arch/ia64/kernel/process.c:577: +exit_thread (struct task_struct *tsk) WARNING: braces {} are not necessary for single statement blocks raspberrypi#331: FILE: arch/sh/kernel/process_64.c:310: + if (last_task_used_math == tsk) { last_task_used_math = NULL; } total: 0 errors, 2 warnings, 231 lines checked ./patches/exit_thread-accept-a-task-parameter-to-be-exited.patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Previously a data toggle error on packets from a USB1.1 device behind
a TT would result in the Pi locking up as the driver never handled
the associated interrupt. Patch adds basic retry mechanism and
interrupt acknowledgement to cater for either a chance toggle error or
for devices that have a broken initial toggle state (FT8U232/FT232BM).
Fixes lockup described in #241