public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "Lothar Wassmann" <LW@KARO-electronics.de>
To: linux-mtd@lists.infradead.org
Subject: put_chip() called with oldstate 1!! (linux 2.6.0-rmk2)
Date: Thu, 8 Jan 2004 12:04:32 +0100	[thread overview]
Message-ID: <16381.14656.474765.390645@ipc1.karo> (raw)

Hi,

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!!'.

The put_chip() routine has this switch statement:
|	switch(chip->oldstate) {
|	case FL_ERASING:
|		chip->state = chip->oldstate;
|		/* What if one interleaved chip has finished and the 
|		   other hasn't? The old code would leave the finished
|		   one in READY mode. That's bad, and caused -EROFS 
|		   errors to be returned from do_erase_oneblock because
|		   that's the only bit it checked for at the time.
|		   As the state machine appears to explicitly allow 
|		   sending the 0x70 (Read Status) command to an erasing
|		   chip and expecting it to be ignored, that's what we 
|		   do. */
|		cfi_write(map, CMD(0xd0), adr);
|		cfi_write(map, CMD(0x70), adr);
|		chip->oldstate = FL_READY;
|		chip->state = FL_ERASING;
|		break;
|
|	case FL_READY:
|		/* 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);
|	}

Since I'm not familiar with the details of flash programming, I don't
know what to do with this error message. Should the case FL_STATUS:
(oldstate == 1) be added to the switch to silently ignore this case,
or is there something wrong with the driver or my flash chips?


Lothar Wassmann

             reply	other threads:[~2004-01-08 11:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-08 11:04 Lothar Wassmann [this message]
2004-01-08 21:12 ` put_chip() called with oldstate 1!! (linux 2.6.0-rmk2) Dan Post
2004-01-09 12:56   ` Lothar Wassmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16381.14656.474765.390645@ipc1.karo \
    --to=lw@karo-electronics.de \
    --cc=linux-mtd@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox