On Wed, 2015-11-25 at 19:36 +0800, Ching Huang wrote: > From: Ching Huang <ching2048@xxxxxxxxxxxx> > > Fixed getting wrong configuration data of adapter type B and type D. > > Signed-of-by: Ching Huang <ching2048@xxxxxxxxxxxx> > > --- > > diff -uprN a/drivers/scsi/arcmsr/arcmsr_hba.c > b/drivers/scsi/arcmsr/arcmsr_hba.c > --- a/drivers/scsi/arcmsr/arcmsr_hba.c 2015-11-23 16:25:22.000000000 > +0800 > +++ b/drivers/scsi/arcmsr/arcmsr_hba.c 2015-11-24 11:35:26.000000000 > +0800 > @@ -2694,15 +2694,15 @@ static bool arcmsr_hbaB_get_config(struc > acb->firm_model, > acb->firm_version); > > - acb->signature = readl(®->message_rwbuffer[1]); > + acb->signature = readl(®->message_rwbuffer[0]); > /*firm_signature,1,00-03*/ > - acb->firm_request_len = readl(®->message_rwbuffer[2]); > + acb->firm_request_len = readl(®->message_rwbuffer[1]); > /*firm_request_len,1,04-07*/ > - acb->firm_numbers_queue = readl(®->message_rwbuffer[3]); > + acb->firm_numbers_queue = readl(®->message_rwbuffer[2]); > /*firm_numbers_queue,2,08-11*/ > - acb->firm_sdram_size = readl(®->message_rwbuffer[4]); > + acb->firm_sdram_size = readl(®->message_rwbuffer[3]); > /*firm_sdram_size,3,12-15*/ > - acb->firm_hd_channels = readl(®->message_rwbuffer[5]); > + acb->firm_hd_channels = readl(®->message_rwbuffer[4]); > /*firm_ide_channels,4,16-19*/ > acb->firm_cfg_version = readl(®- > >message_rwbuffer[25]); /*firm_cfg_version,25,100-103*/ > /*firm_ide_channels,4,16-19*/ > @@ -2880,15 +2880,15 @@ static bool arcmsr_hbaD_get_config(struc > iop_device_map++; > count--; > } > - acb->signature = readl(®->msgcode_rwbuffer[1]); > + acb->signature = readl(®->msgcode_rwbuffer[0]); > /*firm_signature,1,00-03*/ > - acb->firm_request_len = readl(®->msgcode_rwbuffer[2]); > + acb->firm_request_len = readl(®->msgcode_rwbuffer[1]); > /*firm_request_len,1,04-07*/ > - acb->firm_numbers_queue = readl(®->msgcode_rwbuffer[3]); > + acb->firm_numbers_queue = readl(®->msgcode_rwbuffer[2]); > /*firm_numbers_queue,2,08-11*/ > - acb->firm_sdram_size = readl(®->msgcode_rwbuffer[4]); > + acb->firm_sdram_size = readl(®->msgcode_rwbuffer[3]); > /*firm_sdram_size,3,12-15*/ > - acb->firm_hd_channels = readl(®->msgcode_rwbuffer[5]); > + acb->firm_hd_channels = readl(®->msgcode_rwbuffer[4]); > /*firm_hd_channels,4,16-19*/ > acb->firm_cfg_version = readl(®->msgcode_rwbuffer[25]); > pr_notice("Areca RAID Controller%d: Model %s, F/W %s\n", > > Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> -- 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