put_chip() called with oldstate 1!! (linux 2.6.0-rmk2)

Dan Post djp.mtd at onemyth.net
Thu Jan 8 16:12:06 EST 2004


On Thu, 8 Jan 2004 12:04:32 +0100, Lothar Wassmann wrote
> I'm using the MTD driver with Intel flash chips on a PXA255 platform
> with Redboot partitions. Whenever I write data to the flash and
> subsequently unmount and remount the modified partition I get several
> messages: 'put_chip() called with oldstate 1!!'.

Hmmm, strange.

Actually, looking at include/linux/mtd/flashchip.h, 1 == FL_STATUS.  (That
holds true for older versions as well.)

Looking at the CVS version of cfi_cmdset_0001.c,
                chip->state = FL_ERASING;
                break;

        case FL_READY:
+        case FL_STATUS:
                /* We should really make set_vpp() count, rather than doing
this */
                DISABLE_VPP(map);
                break;
        default:
                printk(KERN_ERR "put_chip() called with oldstate %d!!\n",
chip->oldstate);
        }


Note the line with the "+" at the front.  That was added in version 1.127 of
that file (thanks, CVSweb!), on Wed Jul 2 2003, by acurtis.
The comment: "Added FL_STATUS to the FL_READY case in put_chip(). (Eliminate
noise)"

Given my knowledge of flash chips and the driver, that looks like the
appropriate behavior... you may want to upgrade your file or at least add that
line.  There have been some other nice changes since then.  From a quick
glance, I can't find any mailing list activity from that timeperiod on this
fix though...

Dan



More information about the linux-mtd mailing list