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*/
                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",