|
@@ -322,6 +322,14 @@ static struct cfi_fixup fixup_table[] = {
|
|
|
};
|
|
|
|
|
|
|
|
|
+static void cfi_fixup_major_minor(struct cfi_private *cfi,
|
|
|
+ struct cfi_pri_amdstd *extp)
|
|
|
+{
|
|
|
+ if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
|
|
|
+ extp->MajorVersion == '0')
|
|
|
+ extp->MajorVersion = '1';
|
|
|
+}
|
|
|
+
|
|
|
struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)
|
|
|
{
|
|
|
struct cfi_private *cfi = map->fldrv_priv;
|
|
@@ -363,6 +371,8 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
+ cfi_fixup_major_minor(cfi, extp);
|
|
|
+
|
|
|
if (extp->MajorVersion != '1' ||
|
|
|
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
|
|
|
printk(KERN_ERR " Unknown Amd/Fujitsu Extended Query "
|