[SCSI] qla4xxx: Assign correct CHAP table address to FLT
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>
Fri, 22 Mar 2013 11:08:32 +0000 (07:08 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Thu, 11 Apr 2013 21:31:29 +0000 (14:31 -0700)
Issue:
If flash read for FLT fails, we are assigning wrong default
address for CHAP table in FLT, which will cause CHAP table
read/write to wrong address.

Fix:
Assign correct default CHAP table address to FLT.

Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla4xxx/ql4_nx.c

index 71d3d23..31fac90 100644 (file)
@@ -3166,14 +3166,15 @@ no_flash_data:
        hw->flt_region_boot     = FA_BOOT_CODE_ADDR_82;
        hw->flt_region_bootload = FA_BOOT_LOAD_ADDR_82;
        hw->flt_region_fw       = FA_RISC_CODE_ADDR_82;
-       hw->flt_region_chap     = FA_FLASH_ISCSI_CHAP;
+       hw->flt_region_chap     = FA_FLASH_ISCSI_CHAP >> 2;
        hw->flt_chap_size       = FA_FLASH_CHAP_SIZE;
 
 done:
-       DEBUG2(ql4_printk(KERN_INFO, ha, "FLT[%s]: flt=0x%x fdt=0x%x "
-           "boot=0x%x bootload=0x%x fw=0x%x\n", loc, hw->flt_region_flt,
-           hw->flt_region_fdt, hw->flt_region_boot, hw->flt_region_bootload,
-           hw->flt_region_fw));
+       DEBUG2(ql4_printk(KERN_INFO, ha,
+                         "FLT[%s]: flt=0x%x fdt=0x%x boot=0x%x bootload=0x%x fw=0x%x chap=0x%x\n",
+                         loc, hw->flt_region_flt, hw->flt_region_fdt,
+                         hw->flt_region_boot, hw->flt_region_bootload,
+                         hw->flt_region_fw, hw->flt_region_chap));
 }
 
 static void