diff options
author | Massimo Cirillo <maxcir@gmail.com> | 2009-09-03 16:34:39 +0200 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-09-19 23:18:43 +0200 |
commit | 23af51ecfb04ff65bae51bd8e2270f4449abc789 (patch) | |
tree | 32ba264b7afe040e677106f966371f277744e30d /drivers/mtd/chips/cfi_util.c | |
parent | mtd: inftl: fix fold chain block number (diff) | |
download | linux-23af51ecfb04ff65bae51bd8e2270f4449abc789.tar.xz linux-23af51ecfb04ff65bae51bd8e2270f4449abc789.zip |
mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G
The M29W128G Numonyx flash devices are intolerant to any 0xFF command:
in the Cfi_util.c the function cfi_qry_mode_off() (that resets the device
after the autoselect mode) must have a 0xF0 command after the 0xFF command.
This fix solves also the cause of the fixup_M29W128G_write_buffer() fix,
that can be removed now.
The following patch applies to 2.6.30 kernel.
Signed-off-by: Massimo Cirillo <maxcir@gmail.com>
Acked-by: Alexey Korolev <akorolev@infradead.org>
Cc: stable@kernel.org
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/chips/cfi_util.c')
-rwxr-xr-x[-rw-r--r--] | drivers/mtd/chips/cfi_util.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/chips/cfi_util.c b/drivers/mtd/chips/cfi_util.c index 34d40e25d312..c5a84fda5410 100644..100755 --- a/drivers/mtd/chips/cfi_util.c +++ b/drivers/mtd/chips/cfi_util.c @@ -81,6 +81,10 @@ void __xipram cfi_qry_mode_off(uint32_t base, struct map_info *map, { cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); cfi_send_gen_cmd(0xFF, 0, base, map, cfi, cfi->device_type, NULL); + /* M29W128G flashes require an additional reset command + when exit qry mode */ + if ((cfi->mfr == CFI_MFR_ST) && (cfi->id == 0x227E || cfi->id == 0x7E)) + cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL); } EXPORT_SYMBOL_GPL(cfi_qry_mode_off); |