From: Thomas Gleixner Date: Fri, 1 Apr 2005 07:21:48 +0000 (+0100) Subject: [MTD] NAND: Fix oob available calculation X-Git-Tag: v2.6.13-rc3~93^2~57 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=998cf6403cdaac74211c619772bea027274ffc42;p=~emulex%2Finfiniband.git [MTD] NAND: Fix oob available calculation Use oobfree to calculate the number of oob bytes available for fs usage Signed-off-by: Thomas Gleixner --- diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 422c465f311..aea87f05389 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -59,7 +59,7 @@ * The AG-AND chips have nice features for speed improvement, * which are not supported yet. Read / program 4 pages in one go. * - * $Id: nand_base.c,v 1.137 2005/03/24 14:33:22 dedekind Exp $ + * $Id: nand_base.c,v 1.138 2005/04/01 07:21:44 gleixner Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -2512,12 +2512,9 @@ int nand_scan (struct mtd_info *mtd, int maxchips) /* The number of bytes available for the filesystem to place fs dependend * oob data */ - if (this->options & NAND_BUSWIDTH_16) { - mtd->oobavail = mtd->oobsize - (this->autooob->eccbytes + 2); - if (this->autooob->eccbytes & 0x01) - mtd->oobavail--; - } else - mtd->oobavail = mtd->oobsize - (this->autooob->eccbytes + 1); + mtd->oobavail = 0; + for (i = 0; this->autooob->oobfree[i][1]; i++) + mtd->oobavail += this->autooob->oobfree[i][1]; /* * check ECC mode, default to software