Looking at the printk my patch adds, the vendor EC (IIRC Samsung)
should match, but I see '0' and '0' for major and minor chars.

I think it's likely that the more specific patch will work, I'm
looking in to setting up a test now.

On Sat, May 8, 2010 at 10:26 AM, Michael Evans <mjevans1...@gmail.com> wrote:
> I can try it later tonight; ah I see, that's for a different arch.
> This is a generic issue why wasn't that shared with all arches?
>
> It may fix //my// issue, but shouldn't the right thing to do be to
> accept any chip claiming basic CFI compliance?
>
> On Sat, May 8, 2010 at 5:13 AM,  <j...@phrozen.org> wrote:
>> could you try if
>> trunk/target/linux/etrax/patches-2.6.32/200-samsung_flash.patch
>> fixes your issues ?
>>
>> Quoting "Michael J. Evans" <mjevans1...@gmail.com>:
>>
>>> At LEAST
>>>  8MB flash: K8D6316UBM-PI07 Samsung Electronics 64M Bit
>>>  (8M x8/4M x16) Dual Bank NOR Flash Memory
>>> memory falls in to the else statement.  However it otherwise functions.
>>>
>>>  if (extp->MajorVersion != '1' ||
>>>    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
>>>      if (cfi->mfr == MANUFACTURER_SAMSUNG &&
>>>      (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
>>>      printk(KERN_NOTICE "  Newer Samsung flash detected, "
>>>             "should be compatibile with Amd/Fujitsu.\n");
>>>    }
>>>    else {
>>>      ...
>>>    }
>>>  }
>>>
>>> Note that it does so, and continue using the chip to //prevent// this
>>> result:
>>>
>>> physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
>>>  Amd/Fujitsu Extended Query Table at 0x0040
>>>  Unknown Amd/Fujitsu Extended Query version 0.0.
>>> gen_probe: No supported Vendor Command Set found
>>> physmap-flash physmap-flash.0: map_probe failed
>>> VFS: Cannot open root device "<NULL>" or unknown-block(0,0)
>>> Please append a correct "root=" boot option; here are the available
>>>  partitions:
>>> Kernel panic - not syncing: VFS: Unable to mount root fs on
>>>  unknown-block(0,0)
>>>
>>> Signed-off-by: Michael J. Evans <mjevans1...@gmail.com>
>>>
>>> --- a/drivers/mtd/chips/cfi_cmdset_0002.c
>>> +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
>>> @@ -83,7 +83,7 @@ static struct mtd_chip_driver cfi_amdstd_chipdrv = {
>>>  };
>>>
>>>
>>> -/* #define DEBUG_CFI_FEATURES */
>>> +#define DEBUG_CFI_FEATURES
>>>
>>>
>>>  #ifdef DEBUG_CFI_FEATURES
>>> @@ -368,6 +368,8 @@ struct mtd_info *cfi_cmdset_0002(struct map_info
>>>  *map, int primary)
>>>
>>>                extp = (struct cfi_pri_amdstd*)cfi_read_pri(map, adr,
>>>  sizeof(*extp), "Amd/Fujitsu");
>>>                if (!extp) {
>>> +                       printk(KERN_INFO
>>> +                               "Flash chip doesn't appear to use the
>>> Amd/Fujitsu command set.\n");
>>>                        kfree(mtd);
>>>                        return NULL;
>>>                }
>>> @@ -382,12 +384,10 @@ struct mtd_info *cfi_cmdset_0002(struct  map_info
>>> *map, int primary)
>>>                                   "should be compatibile with
>>> Amd/Fujitsu.\n");
>>>                        }
>>>                        else {
>>> -                           printk(KERN_ERR "  Unknown Amd/Fujitsu
>>> Extended Query "
>>> -                                  "version %c.%c.\n",
>>>  extp->MajorVersion,
>>> +                           printk(KERN_ERR "  WARNING: Unknown
>>> Amd/Fujitsu Extended Query "
>>> +                                  "vendor: %4x version %c.%c. If defaults
>>> fail look up the chip.\n",
>>> +                                  (int) cfi->mfr, extp->MajorVersion,
>>>                                   extp->MinorVersion);
>>> -                           kfree(extp);
>>> -                           kfree(mtd);
>>> -                           return NULL;
>>>                        }
>>>                }
>>>
>>>
>>> --- a/drivers/mtd/chips/cfi_probe.c
>>> +++ b/drivers/mtd/chips/cfi_probe.c
>>> @@ -18,7 +18,7 @@
>>>  #include <linux/mtd/cfi.h>
>>>  #include <linux/mtd/gen_probe.h>
>>>
>>> -//#define DEBUG_CFI
>>> +#define DEBUG_CFI
>>>
>>>  #ifdef DEBUG_CFI
>>>  static void print_cfi_ident(struct cfi_ident *);
>>> _______________________________________________
>>> openwrt-devel mailing list
>>> openwrt-devel@lists.openwrt.org
>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>>
>>
>>
>>
>> --
>> John Crispin
>> hacking, coding, etc
>> blogic on irc
>>
>>   _______                     ________        __
>>  |       |.-----.-----.-----.|  |  |  |.----.|  |_
>>  |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
>>  |_______||   __|_____|__|__||________||__|  |____|
>>           |__| W I R E L E S S   F R E E D O M
>>  KAMIKAZE (bleeding edge) -----------------------
>>   * 10 oz Vodka       Shake well with ice and strain
>>   * 10 oz Triple sec  mixture into 10 shot glasses.
>>   * 10 oz lime juice  Salute!
>>  ---------------------------------------------------
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>>
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to