cfi-cmdset-0001: always update the chip status
authorNicolas Pitre <nico@cam.org>
Wed, 29 Mar 2006 22:31:42 +0000 (23:31 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Wed, 17 May 2006 00:22:23 +0000 (01:22 +0100)
... otherwise xip_enable() won't do the right thing.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
drivers/mtd/chips/cfi_cmdset_0001.c

index e797752..ab3888f 100644 (file)
@@ -1479,8 +1479,10 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
           [...], the device will not accept any more Write to Buffer commands".
           So we must check here and reset those bits if they're set. Otherwise
           we're just pissing in the wind */
-       if (chip->state != FL_STATUS)
+       if (chip->state != FL_STATUS) {
                map_write(map, CMD(0x70), cmd_adr);
+               chip->state = FL_STATUS;
+       }
        status = map_read(map, cmd_adr);
        if (map_word_bitsset(map, status, CMD(0x30))) {
                xip_enable(map, chip, cmd_adr);