summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-12-22 21:52:31 +0000
committerAidan MacDonald <amachronic@protonmail.com>2023-01-18 14:22:26 -0500
commitbd7b54a3c4f12793f855a7e2885b318edba7b06e (patch)
treee4c6414a1880d803241e30f0d24f14da9a4b8f8a /apps/plugins
parent969e1ef6cda10aaf1affb07a953ec1b597de24e0 (diff)
downloadrockbox-bd7b54a3c4f12793f855a7e2885b318edba7b06e.tar.gz
rockbox-bd7b54a3c4f12793f855a7e2885b318edba7b06e.zip
usb: Attempt to handle overlapped control requests in legacy drivers
It seems connecting an iPod Video to a Mac triggers the null request check, resulting in a panic. Ignoring the error with a bare return "fixes" it and allows the iPod to connect. This isn't ideal though, because it could silently introduce bugs on other targets. The likely cause of this is the host sending control requests too fast, or a driver problem (the Video uses the ARC driver, which is still on the legacy interface), with multiple requests getting queued at once. Since the USB core expects to deal with only one request at a time, the second response trips the check. Try to handle this situation a bit more gracefully by detecting overlapped requests and returning a STALL to the host when it occurs. At this point the USB stack is able to safely handle a new request. Link: https://forums.rockbox.org/index.php/topic,54414.0.html Change-Id: I9a2b7e35620ff540ebdb39f81671377062a4917d
Diffstat (limited to 'apps/plugins')
0 files changed, 0 insertions, 0 deletions