diff options
author | Nicolas Pitre <nico@cam.org> | 2006-03-30 00:31:42 +0200 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-05-17 02:22:23 +0200 |
commit | 6e7a6809c555aeb7cb98544df4d446fbd6f123ec (patch) | |
tree | 15b9d84d7350396fc08541f54ec42842fd2187ef /drivers/mtd/chips | |
parent | CHIPS: Fix potential starvation in cfi_cmdset_0001 (diff) | |
download | linux-6e7a6809c555aeb7cb98544df4d446fbd6f123ec.tar.xz linux-6e7a6809c555aeb7cb98544df4d446fbd6f123ec.zip |
cfi-cmdset-0001: always update the chip status
... 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>
Diffstat (limited to 'drivers/mtd/chips')
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0001.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c index e797752f7c0b..ab3888f5e464 100644 --- a/drivers/mtd/chips/cfi_cmdset_0001.c +++ b/drivers/mtd/chips/cfi_cmdset_0001.c @@ -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); |