• Artem Bityutskiy's avatar
    mtd: fix merge conflict resolution breakage · 7d731019
    Artem Bityutskiy authored
    This patch fixes merge conflict resolution breakage introduced by merge
    d3712b9d ("Merge tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream").
    
    The commit changed 'mtd_can_have_bb()' function and made it always
    return zero, which is incorrect.  Instead, we need it to return whether
    the underlying flash device can have bad eraseblocks or not.  UBI needs
    this information because it affects how it handles the underlying flash.
    E.g., if the underlying flash is NOR, it cannot have bad blocks and any
    write or erase error is fatal, and all we can do is to switch to R/O
    mode.  We do not need to reserve a pool of good eraseblocks for bad
    eraseblocks handling, and so on.
    
    This patch also removes 'mtd_can_have_bb()' invocations from Logfs to
    ensure correct Logfs behavior.
    
    I've tested that with this patch UBI works on top of NOR and NAND
    flashes emulated by mtdram and nandsim correspondingly.
    
    This patch is based on patch from Linus Torvalds.
    
    Signed-off-b...
    7d731019
dev_mtd.c 6.63 KB