[JFFS2] Fix NOR only compile

Fix the bug that caouses problems when compiling for NOR.
We read  a newly erased block so we don't need to check ECC.

Define jffs2_is_writebuffered as zero if there is no wbuf.

Signed-off-by: Artem B. Bityuckiy <dedekind@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Artem B. Bityuckiy 2005-05-03 16:19:02 +01:00 committed by Thomas Gleixner
parent c25bb1f59c
commit 8cd7921667
2 changed files with 5 additions and 7 deletions

View File

@ -7,7 +7,7 @@
*
* For licensing information, see the file 'LICENCE' in this directory.
*
* $Id: erase.c,v 1.75 2005/04/05 12:51:54 dedekind Exp $
* $Id: erase.c,v 1.76 2005/05/03 15:11:40 dedekind Exp $
*
*/
@ -332,10 +332,7 @@ static void jffs2_mark_erased_block(struct jffs2_sb_info *c, struct jffs2_eraseb
bad_offset = ofs;
if (!jffs2_is_writebuffered(c) || !jffs2_cleanmarker_oob(c))
ret = c->mtd->read(c->mtd, ofs, readlen, &retlen, ebuf);
else
ret = c->mtd->read_ecc(c->mtd, ofs, readlen, &retlen, ebuf, NULL, c->oobinfo);
ret = c->mtd->read(c->mtd, ofs, readlen, &retlen, ebuf);
if (ret) {
printk(KERN_WARNING "Read of newly-erased block at 0x%08x failed: %d. Putting on bad_list\n", ofs, ret);

View File

@ -7,7 +7,7 @@
*
* For licensing information, see the file 'LICENCE' in this directory.
*
* $Id: os-linux.h,v 1.54 2005/02/09 09:23:53 pavlov Exp $
* $Id: os-linux.h,v 1.56 2005/05/03 15:19:00 dedekind Exp $
*
*/
@ -99,11 +99,11 @@ static inline void jffs2_init_inode_info(struct jffs2_inode_info *f)
#define jffs2_is_readonly(c) (OFNI_BS_2SFFJ(c)->s_flags & MS_RDONLY)
#define jffs2_is_writebuffered(c) (c->wbuf != NULL)
#ifndef CONFIG_JFFS2_FS_WRITEBUFFER
#define SECTOR_ADDR(x) ( ((unsigned long)(x) & ~(c->sector_size-1)) )
#define jffs2_can_mark_obsolete(c) (1)
#define jffs2_is_writebuffered(c) (0)
#define jffs2_cleanmarker_oob(c) (0)
#define jffs2_write_nand_cleanmarker(c,jeb) (-EIO)
@ -125,6 +125,7 @@ static inline void jffs2_init_inode_info(struct jffs2_inode_info *f)
#else /* NAND and/or ECC'd NOR support present */
#define jffs2_is_writebuffered(c) (c->wbuf != NULL)
#define SECTOR_ADDR(x) ( ((unsigned long)(x) / (unsigned long)(c->sector_size)) * c->sector_size )
#define jffs2_can_mark_obsolete(c) ((c->mtd->type == MTD_NORFLASH && !(c->mtd->flags & MTD_ECC)) || c->mtd->type == MTD_RAM)
#define jffs2_cleanmarker_oob(c) (c->mtd->type == MTD_NANDFLASH)