Using GPMI-NAND driver on iMX28 using 3.4-rc1?
samgandhi9 at gmail.com
Thu Apr 5 08:03:54 EDT 2012
2012/4/4 Huang Shijie <b32955 at freescale.com>:
> Hi All:
>> On Wed, Apr 4, 2012 at 7:07 PM, Sam Gandhi<samgandhi9 at gmail.com> wrote:
>>> I reverted that commit and I still see following error!
>> Are you able to use gpmi on mx28 running 3.4-rc1?
> I also meet the same problem today.
>>> 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.
> Huang Shijie
FWIW, Just a data point.
I coverted BUG_ON in dmaengine.h to printk as shown below. With this
change I was able to format nand, create UBI partition. I have been
running UBI torture test called integck on my board that does lot of
I/O, mounting/unmounting of filesystem for close to 8 hour now without
crash. But I do see those printks. I haven't followed logic of
tx->cookie well enough to figure out what the appropriate change
should be. Note this is with commit
00292bbf769620dea923dbd906afd88955f7ea19 reverted in my tree.
Cookie 0 completed 102118268 DMA_MIN 1
Cookie 0 completed 102120401 DMA_MIN 1
Cookie 0 completed 102237726 DMA_MIN 1
git diff drivers/dma/dmaengine.h
diff --git a/drivers/dma/dmaengine.h b/drivers/dma/dmaengine.h
index 17f983a..3d10a70 100644
@@ -50,7 +50,11 @@ static inline dma_cookie_t dma_cookie_assign(struct
static inline void dma_cookie_complete(struct dma_async_tx_descriptor *tx)
- BUG_ON(tx->cookie < DMA_MIN_COOKIE);
+ if ( tx->cookie < DMA_MIN_COOKIE)
+ printk(KERN_ERR "Cookie %d, completed %d DMA_MIN %d
+ /* BUG_ON(tx->cookie < DMA_MIN_COOKIE); */
tx->chan->completed_cookie = tx->cookie;
tx->cookie = 0;
More information about the linux-arm-kernel