RE: [PATCH v2] usb:musb:musb_host: Handle highmem in PIO mode

From: Virupax SADASHIVPETIMATH
Date: Wed Aug 08 2012 - 02:41:03 EST




> -----Original Message-----
> From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, August 07, 2012 11:17 PM
> To: Virupax SADASHIVPETIMATH
> Cc: balbi@xxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linus.walleij@xxxxxxxxxx; Praveena NADAHALLY; Rajaram
> REGUPATHY; Vikrant BAPAT
> Subject: Re: [PATCH v2] usb:musb:musb_host: Handle highmem in PIO mode
>
>
> > + */
> > + if (!urb->transfer_buffer)
> > + use_sg = true;
>
> Here you test urb->transfer_buffer.

I will make the test as
if (!use_sg && !urb->transfer_buffer)
use_sg = true;

> > + if (use_sg) {
> > + /* sg_miter_start is already done in musb_ep_program */
> > + if (!sg_miter_next(&qh->sg_miter)) {
> > + dev_err(musb->controller, "error: sg list empty\n");
> > + sg_miter_stop(&qh->sg_miter);
> > + status = -EINVAL;
> > + goto done;
> > + }
> > + urb->transfer_buffer = qh->sg_miter.addr;
>
> And here you set it. As a result, on the next iteration of this
> routine the test above won't work right. (This function gets invoked
> once for each entry in the sg list, right?)
>
> Is there any reason to set urb->transfer_buffer here? You could just
> use qh->sg_miter.addr directly in the musb_write_fifo() call two lines
> below.

I will change it.

Thanks
Virupax S


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/