The 94xx controller is now being shipped with a wider range of FLASH chip manufactures, this patch simply allows the aic94xx driver to recognize the new manufacturers ids. --Alexis Signed-off-by: Alexis Bruemmer <alexisb@xxxxxxxxxx> ---- diff -aNurp linux-2.6.18-rc5-aic94xx-orig/drivers/scsi/aic94xx/aic94xx_sds.c linux-2.6.18-rc5-aic94xx-new/drivers/scsi/aic94xx/aic94xx_sds.c --- linux-2.6.18-rc5-aic94xx-orig/drivers/scsi/aic94xx/aic94xx_sds.c 2006-08-28 14:29:30.000000000 -0700 +++ linux-2.6.18-rc5-aic94xx-new/drivers/scsi/aic94xx/aic94xx_sds.c 2006-09-05 09:11:34.000000000 -0700 @@ -376,7 +376,10 @@ out: /* ---------- FLASH stuff ---------- */ #define FLASH_RESET 0xF0 -#define FLASH_MANUF_AMD 1 +#define FLASH_MANUF_AMD 0x01 +#define FLASH_MANUF_ST 0x20 +#define FLASH_MANUF_FUJITSU 0x04 +#define FLASH_MANUF_MACRONIX 0xC2 #define FLASH_SIZE 0x200000 #define FLASH_DIR_COOKIE "*** ADAPTEC FLASH DIRECTORY *** " @@ -663,7 +666,11 @@ static int asd_flash_getid(struct asd_ha /* Get out of autoselect mode. */ err = asd_reset_flash(asd_ha); - if (asd_ha->hw_prof.flash.manuf == FLASH_MANUF_AMD) { + switch(asd_ha->hw_prof.flash.manuf) { + case FLASH_MANUF_AMD: + case FLASH_MANUF_ST: + case FLASH_MANUF_FUJITSU: + case FLASH_MANUF_MACRONIX: ASD_DPRINTK("0Found FLASH(%d) manuf:%d, dev_id:0x%x, " "sec_prot:%d\n", asd_ha->hw_prof.flash.wide ? 16 : 8, @@ -671,6 +678,9 @@ static int asd_flash_getid(struct asd_ha asd_ha->hw_prof.flash.dev_id, asd_ha->hw_prof.flash.sec_prot); return 0; + default: + break; + } /* Ok, try the sequence for byte mode of 160B and 800D. @@ -684,7 +694,11 @@ static int asd_flash_getid(struct asd_ha asd_ha->hw_prof.flash.sec_prot = asd_read_reg_byte(asd_ha, reg + 4); err = asd_reset_flash(asd_ha); - if (asd_ha->hw_prof.flash.manuf == FLASH_MANUF_AMD) { + switch(asd_ha->hw_prof.flash.manuf) { + case FLASH_MANUF_AMD: + case FLASH_MANUF_ST: + case FLASH_MANUF_FUJITSU: + case FLASH_MANUF_MACRONIX: ASD_DPRINTK("1Found FLASH(%d) manuf:%d, dev_id:0x%x, " "sec_prot:%d\n", asd_ha->hw_prof.flash.wide ? 16 : 8, @@ -692,8 +706,12 @@ static int asd_flash_getid(struct asd_ha asd_ha->hw_prof.flash.dev_id, asd_ha->hw_prof.flash.sec_prot); return 0; + default: + break; + } + return -ENOENT; } - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html