From: Henrik Rydberg Date: Sat, 13 Oct 2012 10:20:36 +0000 (+0200) Subject: usbdevfs: Fix broken scatter-gather transfer X-Git-Tag: v3.7-rc2~17^2~22 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=014639003c77a51fc319c9fdf225e7747cb6e18d;p=cascardo%2Flinux.git usbdevfs: Fix broken scatter-gather transfer The handling of large output bulk transfers is broken; the same user page is read over and over again. Fixed with this patch. Cc: stable Acked-by: Peter Stuge Acked-by: Hans de Goede Acked-by: Alan Stern Signed-off-by: Henrik Rydberg Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index e0356cb859b5..b78fbe222b72 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -1348,6 +1348,7 @@ static int proc_do_submiturb(struct dev_state *ps, struct usbdevfs_urb *uurb, ret = -EFAULT; goto error; } + uurb->buffer += u; } totlen -= u; }