mtd: cfi_cmdset_0002: fix the check for valid primary extension versions
PATCH 1/1 mtd: cfi_cmdset_0002: fix the check for valid primary extension versions
Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3 [1][2]. Fix the check in cfi_cmdset_0002 accordingly.
[1] http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19
[2] http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
Signed-off-by Florian Fainelli <[email protected]>
Signed-off-by Guillaume LECERF <[email protected]>
--- drivers/mtd/chips/cfi_cmdset_0002.c | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-)
drivers/mtd/chips/cfi_cmdset_0002.c +12 -3
@@ -417,16 +417,25 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)*/ cfi_fixup_major_minor (cfi, extp); +/* +* Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3 +* see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on +* http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf +*/ if (extp->MajorVersion !='1' || - (extp->MinorVersion <'0' || extp->MinorVersion >'4' )) { + (extp->MajorVersion =='1' && ( extp->MinorVersion <'0' || extp->MinorVersion >'3' ))) {printk (KERN_ERR " Unknown Amd/Fujitsu Extended Query " -"version %c.%c.\n" , extp->MajorVersion, - extp->MinorVersion); +"version %c.%c (%#02x/%#02x).\n" , + extp->MajorVersion, extp->MinorVersion, + extp->MajorVersion, extp->MinorVersion);kfree (extp);kfree (mtd);return NULL ; } +printk (KERN_INFO " Amd/Fujitsu Extended Query version %c.%c.\n" , + extp->MajorVersion, extp->MinorVersion); +/* Install our own private info structure */ cfi->cmdset_priv = extp;
Quoted 3 lines
Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3 [1][2]. Fix the check in
cfi_cmdset_0002accordingly.
...
I would prefer not to remove CFI 1.4 support from the AMD/Spansion driver. For example, the Spansion S29WS-P device family uses CFI version 1.4, see page 90 of the datasheet http://www.spansion.com/Support/Datasheets/s29ws-p_00_a12_e.pdf.
--Gernot