aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial
diff options
context:
space:
mode:
authorMichaƂ Pecio <michal.pecio@gmail.com>2016-06-07 12:34:45 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-06-07 22:15:25 -0700
commitc66f59ee5050447b3da92d36f5385a847990a894 (patch)
treef2c31d3fd017c24398a1e9db589a05373342fe85 /drivers/usb/serial
parentusb: musb: Stop bulk endpoint while queue is rotated (diff)
downloadlinux-dev-c66f59ee5050447b3da92d36f5385a847990a894.tar.xz
linux-dev-c66f59ee5050447b3da92d36f5385a847990a894.zip
USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails
Since ed_schedule begins with marking the ED as "operational", the ED may be left in such state even if scheduling actually fails. This allows future submission attempts to smuggle this ED to the hardware behind the scheduler's back and without linking it to the ohci->eds_in_use list. The former causes bandwidth saturation and data loss on isoc endpoints, the latter crashes the kernel when attempt is made to unlink such ED from this list. Fix ed_schedule to update ED state only on successful return. Signed-off-by: Michal Pecio <michal.pecio@gmail.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial')
0 files changed, 0 insertions, 0 deletions