fix fwh_lock locking
PATCH 1/1 fix fwh_lock locking
Hi all,
This is on a custom board with a mapping driver access to an ST M50LPW080 chip. This chip is probed successfully with do_map_probe("jedec_probe",...). If I use the mtdchar interface to perform unlock->erase->program->lock on any of the 16 eraseblocks in the chip, the chip is left in FL_STATUS mode while the data structures believe that the chip is in FL_READY mode. Hence, any subsequent reads to any flash byte results in 0x80 being read.
Thanks.
Signed-off-by Shashi Rao <shashi at sun.com>
drivers/mtd/chips/fwh_lock.h +2 -1
@@ -65,11 +65,12 @@return ret; } + chip->oldstate = chip->state; chip->state = xxlt->state;map_write (map,CMD (xxlt->val), adr);/* Done and happy. */ - chip->state =FL_READY ; + chip->state = chip->oldstate;put_chip (map, chip, adr);spin_unlock (chip->mutex);return 0 ;