diff options
Diffstat (limited to 'target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch')
| -rw-r--r-- | target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch b/target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch new file mode 100644 index 000000000..1d13d4ed5 --- /dev/null +++ b/target/linux/generic/patches-2.6.36/089-mtd-samsung-flash.patch @@ -0,0 +1,37 @@ +--- a/drivers/mtd/chips/cfi_cmdset_0002.c ++++ b/drivers/mtd/chips/cfi_cmdset_0002.c +@@ -373,9 +373,32 @@ static void cfi_fixup_major_minor(struct + { + 	// manufacturers defined in include/linux/mtd/cfi.h +  +-	if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e && +-	    extp->MajorVersion == '0') ++	if (cfi->mfr == CFI_MFR_SAMSUNG && ++	    extp->MajorVersion == '0') { ++		printk("  Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c", ++		       extp->MajorVersion, extp->MinorVersion); ++ + 		extp->MajorVersion = '1'; ++		extp->MinorVersion = '0'; ++ ++		printk(" to %c.%c.\n", ++		       extp->MajorVersion, extp->MinorVersion); ++	} ++ ++	if (cfi->mfr == CFI_MFR_SAMSUNG && ++	    extp->MajorVersion == '3' && extp->MinorVersion == '3') { ++		printk(KERN_NOTICE "  Newer Samsung flash detected, " ++		       "should be compatibile with Amd/Fujitsu.\n"); ++ ++		printk("  Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c", ++		       extp->MajorVersion, extp->MinorVersion); ++ ++		extp->MajorVersion = '1';	// set to 1.3 (last defined version) ++		extp->MinorVersion = '3'; ++ ++		printk(" to %c.%c.\n", ++		       extp->MajorVersion, extp->MinorVersion); ++	} + } +  + struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary) | 
