No subject
Thu Sep 1 17:20:09 CEST 2011
IRQs, so, doing that is either impossible, or would require a _much_
deeper change to the driver and _this_ would indeed be a much bigger
change than just fixing the Oops.
Thanks
Guennadi
> > Shimoda-san, this is the problem, that you were observing. However, it
> > exists with the present version of shdma just as well as with the new one
> > - on top of the simple DMA library. I marked it an RFC because (1) I only
> > lightly tested it with the gadget device on mackerel with the mass storage
> > gadget, and (2) I am somewhat concerned about races. Currently the work
> > function runs with no locking and there are no usual cancel_work_sync()
> > points in the patch. However, it has also been like this before with the
> > tasklet implementation, which is not much better, and it looks like there
> > are no asynchronous operations on the same packets like timeouts. Only
> > asynchronous events, that I can think about are things like unloading the
> > driver or unplugging the cable, but these have been there before too. It
> > would become worse on SMP, I think. Comments welcome.
> >
> > diff --git a/drivers/usb/renesas_usbhs/fifo.c b/drivers/usb/renesas_usbhs/fifo.c
> > index 72339bd..4d739ec 100644
> > --- a/drivers/usb/renesas_usbhs/fifo.c
> > +++ b/drivers/usb/renesas_usbhs/fifo.c
> > @@ -75,8 +75,7 @@ void usbhs_pkt_push(struct usbhs_pipe *pipe, struct usbhs_pkt *pkt,
> > pipe->handler = &usbhsf_null_handler;
> > }
> >
> > - list_del_init(&pkt->node);
> > - list_add_tail(&pkt->node, &pipe->list);
> > + list_move_tail(&pkt->node, &pipe->list);
> >
> > /*
> > * each pkt must hold own handler.
> > @@ -106,7 +105,7 @@ static struct usbhs_pkt *__usbhsf_pkt_get(struct usbhs_pipe *pipe)
> > if (list_empty(&pipe->list))
> > return NULL;
> >
> > - return list_entry(pipe->list.next, struct usbhs_pkt, node);
> > + return list_first_entry(&pipe->list, struct usbhs_pkt, node);
>
> these two hunks are not part of $SUBJECT
>
> --
> balbi
>
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
More information about the Alsa-devel
mailing list