| From 63a9609513007537a0b23ac511fd73f9bd609ea0 Mon Sep 17 00:00:00 2001 |
| From: Joris van Rantwijk <jorispubl@xs4all.nl> |
| Date: Thu, 24 Sep 2009 20:20:20 +0200 |
| Subject: USB: Fix throttling in generic usbserial driver |
| |
| From: Joris van Rantwijk <jorispubl@xs4all.nl> |
| |
| commit 63a9609513007537a0b23ac511fd73f9bd609ea0 upstream. |
| |
| The generic usbserial driver in Linux 2.6.31 halts its receiving |
| channel in response to throttle requests from the line discipline. |
| Unfortunately it drops the contents of the first URB received after |
| throttling takes effect. This patch corrects that problem. |
| |
| Signed-off-by: Joris van Rantwijk <jorispubl@xs4all.nl> |
| Acked-by: Johan Hovold <jhovold@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/generic.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/usb/serial/generic.c |
| +++ b/drivers/usb/serial/generic.c |
| @@ -530,7 +530,7 @@ void usb_serial_generic_unthrottle(struc |
| |
| if (was_throttled) { |
| /* Resume reading from device */ |
| - usb_serial_generic_resubmit_read_urb(port, GFP_KERNEL); |
| + flush_and_resubmit_read_urb(port); |
| } |
| } |
| |