On Thu, 8 Dec 2011, Sebastian Andrzej Siewior wrote: > This patch moves the part of the code which does the bare transfer into > its function. It is a preparion for the implementation of sg support. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > drivers/usb/gadget/dummy_hcd.c | 28 +++++++++++++++++++--------- > 1 files changed, 19 insertions(+), 9 deletions(-) > > diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c > index ab8f1b4..bfba4aa 100644 > --- a/drivers/usb/gadget/dummy_hcd.c > +++ b/drivers/usb/gadget/dummy_hcd.c > @@ -1140,6 +1140,23 @@ static int dummy_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) > return rc; > } > > +static int dummy_perform_transfer(struct urb *urb, struct dummy_request *req, > + u32 len) > +{ > + void *ubuf, *rbuf; > + int to_host; > + > + to_host = usb_pipein(urb->pipe); > + rbuf = req->req.buf + req->req.actual; > + ubuf = urb->transfer_buffer += urb->actual_length; -----------------------------^ Somehow + got changed to +=. Same thing appeared in the next patch. > + > + if (to_host) > + memcpy(ubuf, rbuf, len); > + else > + memcpy(rbuf, ubuf, len); > + return len; > +} > + > /* transfer up to a frame's worth; caller must own lock */ > static int > transfer(struct dummy *dum, struct urb *urb, struct dummy_ep *ep, int limit, > @@ -1171,8 +1188,6 @@ top: > if (unlikely (len == 0)) > is_short = 1; > else { > - char *ubuf, *rbuf; > - > /* not enough bandwidth left? */ > if (limit < ep->ep.maxpacket && limit < len) > break; > @@ -1187,13 +1202,8 @@ top: > } > is_short = (len % ep->ep.maxpacket) != 0; > > - /* else transfer packet(s) */ > - ubuf = urb->transfer_buffer + urb->actual_length; --------------------------------------------^ > - rbuf = req->req.buf + req->req.actual; > - if (to_host) > - memcpy (ubuf, rbuf, len); > - else > - memcpy (rbuf, ubuf, len); > + len = dummy_perform_transfer(urb, req, len); > + > ep->last_io = jiffies; > > limit -= len; Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html