On Thu, Apr 05, 2012 at 05:57:41PM +0530, Vinod Koul wrote: > On Thu, 2012-04-05 at 05:03 -0700, Sam Gandhi wrote: > > 2012/4/4 Huang Shijie <b32955@xxxxxxxxxxxxx>: ... > > >>> flash_erase /dev/mtd1 0 0 > > >>> Erasing 1------------[ cut here ]------------ > > >>> kernel BUG at /home/sam/linux/drivers/dma/dmaengine.h:53! > > > the mxs-dma has added some patches about the cookie. > > > The bug is in the dmaengine.h. > > > > > > So let more people know this bug. > > > I'm still trying to understand why I did run into the BUG_ON when I test it with mxs mmc and sound drivers. ... > This means you are trying to mark a cookie complete when it is already > marked so!, hence dmaengine screams. > The bug is is mxs-dma. > Let me know if below fixes it (assuming you are not using cyclic API, > that would need fixup as well) > > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c > index c81ef7e..5ddd84e 100644 > --- a/drivers/dma/mxs-dma.c > +++ b/drivers/dma/mxs-dma.c > @@ -399,6 +399,10 @@ static struct dma_async_tx_descriptor > *mxs_dma_prep_slave_sg( > ccw->bits &= ~CCW_DEC_SEM; > } else { > idx = 0; > + /* assign cookie here, > + * hopefully for above case we dont need it > + */ > + dma_cookie_assign(&mxs_chan->desc); Isn't it done in mxs_dma_tx_submit() already? The gpmi driver somehow misses the call to dmaengine_submit() for some case? Regards, Shawn > } > > if (direction == DMA_TRANS_NONE) { > > -- _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-arm-kernel