source: trunk/target/linux/generic/patches-2.6.34/014-cfi_fix_amd_extended_table_check.patch @ 22768

Last change on this file since 22768 was 22768, checked in by florian, 6 years ago

[kernel] update to 2.6.34.5

File size: 1.9 KB
  • drivers/mtd/chips/cfi_cmdset_0002.c

    a b static struct cfi_fixup fixup_table[] = 
    325325static void cfi_fixup_major_minor(struct cfi_private *cfi, 
    326326                                  struct cfi_pri_amdstd *extp) 
    327327{ 
     328        // manufacturers defined in include/linux/mtd/cfi.h 
     329 
    328330        if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e && 
    329331            extp->MajorVersion == '0') 
    330332                extp->MajorVersion = '1'; 
    struct mtd_info *cfi_cmdset_0002(struct 
    355357        mtd->name    = map->name; 
    356358        mtd->writesize = 1; 
    357359 
     360        printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info? 
     361        printk(" CFI id  0x%08x\n", cfi->id); 
     362 
    358363        if (cfi->cfi_mode==CFI_MODE_CFI){ 
    359364                unsigned char bootloc; 
    360365                /* 
    struct mtd_info *cfi_cmdset_0002(struct 
    373378 
    374379                cfi_fixup_major_minor(cfi, extp); 
    375380 
    376                 if (extp->MajorVersion != '1' || 
    377                     (extp->MinorVersion < '0' || extp->MinorVersion > '4')) { 
     381                // valid primary extension versions are: 1.0, 1.1, 1.2, 1.3 
     382                // see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19 and on 
     383                //      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf 
     384                if (extp->MajorVersion < '1' || 
     385                    extp->MajorVersion > '1' || 
     386                    (extp->MajorVersion == '1' && ( extp->MinorVersion < '0' || extp->MinorVersion > '3'))) { 
    378387                        printk(KERN_ERR "  Unknown Amd/Fujitsu Extended Query " 
    379                                "version %c.%c.\n",  extp->MajorVersion, 
    380                                extp->MinorVersion); 
     388                               "version %c.%c (0x%02x/0x%02x).\n", 
     389                               extp->MajorVersion, extp->MinorVersion, 
     390                               extp->MajorVersion, extp->MinorVersion); 
    381391                        kfree(extp); 
    382392                        kfree(mtd); 
    383393                        return NULL; 
    384394                } 
    385395 
     396                printk("  Amd/Fujitsu Extended Query version %c.%c.\n", 
     397                       extp->MajorVersion, extp->MinorVersion); 
     398 
    386399                /* Install our own private info structure */ 
    387400                cfi->cmdset_priv = extp; 
    388401 
Note: See TracBrowser for help on using the repository browser.