On Tue, Jun 30, 2009 at 08:35:50PM +0400, Sergei Shtylyov wrote: > Hello. > > Greg Kroah-Hartman wrote: > > > From: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> > > > As musb_advance_schedule() is now the only remaning > > caller of musb_giveback() (and the only valid context > > of such call), just fold the latter into the former > > and then rename __musb_giveback() into musb_giveback(). > > > This is a net minor shrink. > > > Signed-off-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx> > > Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx> > > Sigh... :-( > > > diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c > > index e666f60..c1bb192 100644 > > --- a/drivers/usb/musb/musb_host.c > > +++ b/drivers/usb/musb/musb_host.c > [...] > > @@ -350,14 +349,22 @@ static inline void musb_save_toggle(struct musb_qh *qh, int is_in, > > usb_settoggle(urb->dev, qh->epnum, !is_in, csr ? 1 : 0); > > } > > > > -/* caller owns controller lock, irqs are blocked */ > > -static struct musb_qh * > > -musb_giveback(struct musb_qh *qh, struct urb *urb, int status) > > +/* > > + * Advance this hardware endpoint's queue, completing the specified URB and > > + * advancing to either the next URB queued to that qh, or else invalidating > > + * that qh and advancing to the next qh scheduled after the current one. > > + * > > + * Context: caller owns controller lock, IRQs are blocked > > + */ > > +static void musb_advance_schedule(struct musb *musb, struct urb *urb, > > + struct musb_hw_ep *hw_ep, int is_in) > > { > > + struct musb_qh *qh = musb_ep_get_qh(hw_ep, is_in); > > struct musb_hw_ep *ep = qh->hw_ep; > > - struct musb *musb = ep->musb; > > - int is_in = usb_pipein(urb->pipe); > > int ready = qh->is_ready; > > + int status; > > + > > + status = (urb->status == -EINPROGRESS) ? 0 : urb->status; > > > > /* save toggle eagerly, for paranoia */ > > switch (qh->type) { > > @@ -366,13 +373,13 @@ musb_giveback(struct musb_qh *qh, struct urb *urb, int status) > > musb_save_toggle(qh, is_in, urb); > > break; > > case USB_ENDPOINT_XFER_ISOC: > > - if (status == 0 && urb->error_count) > > + if (urb->error_count) > > I've posted the take 2 patch (in time for this one to be updated) that > had this illegetimate change removed but it was (of course) ignored. What I > am to do now -- send a new patch undoing the change? :-/ Care to send the diff of what you want to see the code to look like now? thanks, greg k-h -- 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