On Sun, Apr 01, 2012 at 03:17:16PM +0800, Peter Chen wrote: > dTD's next dtd pointer need to be updated once CPU writes it, or this > request may not be handled by controller, then host will get NAK from > device forever. > > This problem occurs when there is a request is handling, we need to add > a new request to dTD list, if this new request is added before the current > one is finished, the new request is intended to added as next dtd pointer > at current dTD, but without wmb(), the dTD's next dtd pointer may not be > updated when the controller reads it. In that case, the controller will > still get Terminate Bit is 1 at dTD's next dtd pointer, that means there is > no next request, then this new request is missed by controller. > > CC: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> applied, thanks -- balbi
Attachment:
signature.asc
Description: Digital signature