physmap shutdown

Vladimir Zapolskiy vzapolskiy at gmail.com
Thu Mar 11 10:03:56 EST 2010


Hi,

recently I have encountered a problem with Intel I28F160C3B NOR flash
on a board where RP# pin is not connected to CPU RESET#, and after
software reboot it is not in "Read Array" status.

This flash is mapped by physmap driver, and Intel Extended Vendor
Command Set (0x0001) is used to operate with it, CONFIG_PM kernel
option is enabled, MTD_POWERUP_LOCK flag is set in mtd->flags.

On reboot cfi_intelext_reboot() is called properly by reboot notifier
to change the flash state to "Read Array", but after this call
physmap_flash_shutdown() initiates sequent cfi_intelext_suspend() and
cfi_intelext_resume() calls, the latter one restores block locks, but
the flash remains in "Read Status" state.

Making a fix is not a problem, but I would like to be sure in the best
solution in joint opinion:
* remove physmap_flash_shutdown() method completely (is it safe?)
* be aware of FL_SHUTDOWN chip state in cfi_intelext_suspend()
* restore "Read Array" state in cfi_intelext_resume()
* ...

Thank you in advance,
Vladimir



More information about the linux-mtd mailing list