Messages in this thread | | | Date | Sun, 14 Oct 2012 17:48:00 +0200 | From | Hans de Goede <> | Subject | Re: [PATCH v3] usbdevfs: Fix broken scatter-gather transfer |
| |
Hi,
On 10/13/2012 12:20 PM, Henrik Rydberg wrote: > 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@kernel.org > Acked-by: Peter Stuge <peter@stuge.se> > Acked-by: Hans de Goede <hdegoede@redhat.com> > Acked-by: Alan Stern <stern@rowland.harvard.edu> > Signed-off-by: Henrik Rydberg <rydberg@euromail.se> > --- > Hi Greg, > > Here is the formal and third version of the patch. Version two still > made me nervous,
And it should, as as said before I believe it would have broken large input transfers ...
so I moved the increment to where it is clear that > the buffer pointer is never referenced again later in the function. I > still kept the ACKS, hope that is alright with everyone.
Unlike the previous one, this version should work, so yes it may keep my ACK :)
Regards,
Hans
> > Thanks, > Henrik > > drivers/usb/core/devio.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c > index ebb8a9d..7f75343 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; > } >
| |