mtd: fix hang-up in cfi erase and read contention
David Woodhouse
dwmw2 at infradead.org
Tue May 24 21:08:57 EDT 2011
On Thu, 2011-05-19 at 15:58 +0900, Tadashi Abe wrote:
> @@ -812,12 +812,9 @@ static int chip_ready (struct map_info *map, struct flchip *chip, unsigned long
> break;
>
> if (time_after(jiffies, timeo)) {
> - /* Urgh. Resume and pretend we weren't here. */
> - map_write(map, CMD(0xd0), adr);
> - /* Make sure we're in 'read status' mode if it had finished */
> - map_write(map, CMD(0x70), adr);
> - chip->state = FL_ERASING;
> - chip->oldstate = FL_READY;
> + /* Urgh. Resume and pretend we weren't here.
> + * Make sure we're in 'read status' mode if it had finished */
> + put_chip(map, chip, adr);
I'm confused. You've removed the code which ensures that the chip is in
a known state.... why?
--
dwmw2
More information about the linux-mtd
mailing list