> -----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-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html