Pushed this patch to l2-mtd.git and added CC to -stable. The patch seems to be a real bug-fix. Daniel, could you please check it - it will be shame if it hits -stable and breaks something. Thanks! On Sat, 2012-06-09 at 19:08 +0300, Dan Carpenter wrote: > The intent here was clearly to set result to true if the 0x40000000 flag > was set. But instead there was a | vs & typo and we always set result > to true. > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > I do not have the hardware to test this. The original code is clearly > buggy, but what about if 0x40000000 is the wrong flag? > > diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c > index f3594a6..ac0d967 100644 > --- a/drivers/mtd/nand/cafe_nand.c > +++ b/drivers/mtd/nand/cafe_nand.c > @@ -102,7 +102,7 @@ static const char *part_probes[] = { "cmdlinepart", "RedBoot", NULL }; > static int cafe_device_ready(struct mtd_info *mtd) > { > struct cafe_priv *cafe = mtd->priv; > - int result = !!(cafe_readl(cafe, NAND_STATUS) | 0x40000000); > + int result = !!(cafe_readl(cafe, NAND_STATUS) & 0x40000000); > uint32_t irqs = cafe_readl(cafe, NAND_IRQ); > > cafe_writel(cafe, irqs, NAND_IRQ); > > ______________________________________________________ > Linux MTD discussion mailing list > http://lists.infradead.org/mailman/listinfo/linux-mtd/ -- Best Regards, Artem Bityutskiy
Attachment:
signature.asc
Description: This is a digitally signed message part