On Thu, May 16, 2013 at 01:17:10PM +0300, Alexander Shishkin wrote:
> Michael Grzeschik <[email protected]> writes:
>
> > From: Michael Grzeschik <[email protected]>
> >
> > This patch removes the restriction of having a limited amount of only
> > four active tds on one endpoint. We use the linked list implementation
> > to manage all tds which get added and removed by hardware_{en,de}queue.
> >
> > The removal of this restriction adds the driver to run into a hardware
> > errata. It's possible that the hardware will still address an transfer
> > descriptor that already got cleaned up. To solve this the patch also
> > postpone the cleanup of processed tds by one.
> >
>
> Some nitpicking below:
>
> > +/*
> > + * free_pending_td: remove a pending request for the endpoint
> > + * @mEp: endpoint
> > + */
> > +void free_pending_td(struct ci13xxx_ep *mEp)
>
> Looks like a missing "static".
Right!
>
> > +{
> > + struct td_node *pending = mEp->pending_td;
> > +
> > + dma_pool_free(mEp->td_pool, pending->ptr, pending->dma);
> > + pending->ptr = NULL;
>
> Why?
Oops, this should be mEp->pending_td = NULL;
Otherwise an once used ci13xxx_ep would still
contain a valid pointer to pending_td on restart.
>
> > + kfree(pending);
> > +}
> > +
>
Thanks,
Michael
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html