inconsistent behaviour with onenand with 2.6.24 kernel

Adrian Hunter ext-adrian.hunter at nokia.com
Fri Apr 18 03:19:28 EDT 2008


Abhijit Singh wrote:
> I am facing some problem with onenand with the kernel 2.6.24.

Yes it is broken.

Here is a list on OneNAND patches in 2.6.25

69d79186dc48ca22a0ce69511bef8ef6c2465ada [MTD] [OneNAND] Use pre-alloced oob buffer instead of local buffer
978cb38a296fceac82a8a757f6387d7ef2a21ac6 [MTD] [OneNAND] Use the u_char instead of char in oobbuf
b2581be291aa8595eadf3d6933d04d0f1d01b46d [MTD] [OneNAND] Check the initial bad block using ONENAND_CTRL_ERROR
e71f04fc9234b14636887ceb5862755f1690642c [MTD] [OneNAND] Get correct density from device ID
b21b72cf33bb212414c1d967850e261b795befa4 [MTD] [OneNAND] Consolidate OneNAND operation order
9d2f0b7a3de28d06ba4011b835b9a7e772553f0d [MTD] [OneNAND] fix call to onenand_verify when writing subpages
d0b36d8cc8f345ec5faadd15daaecfb409b94523 [MTD] [OneNAND] Do not release chip twice

The last one "[MTD] [OneNAND] Do not release chip twice" is absolutely essential, so here it is:


commit d0b36d8cc8f345ec5faadd15daaecfb409b94523
Author: Adrian Hunter <ext-adrian.hunter at nokia.com>
Date:   Thu Jan 24 12:48:37 2008 +0200

    [MTD] [OneNAND] Do not release chip twice
    
    Signed-off-by: Adrian Hunter <ext-adrian.hunter at nokia.com>
    Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>

diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index ed9f9c0..e5882b6 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -1447,9 +1447,6 @@ static int onenand_write_ops_nolock(struct mtd_info *mtd, loff_t to,
                buf += thislen;
        }
 
-       /* Deselect and wake up anyone waiting on the device */
-       onenand_release_device(mtd);
-
        ops->retlen = written;
 
        return ret;



More information about the linux-mtd mailing list