diff options
author | Lalit Chandivade <lalit.chandivade@qlogic.com> | 2011-10-07 19:55:42 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-10-16 12:08:41 -0400 |
commit | 4549415af6915017f5d3fbdbfd5edd1dfbe63fa9 (patch) | |
tree | b06ad5224dd3093d6fd9377d8461a295f101e1b7 /drivers/scsi/qla4xxx/ql4_fw.h | |
parent | 0854f665a1cbb4566d3ebe449169b0200b8cdad0 (diff) |
[SCSI] qla4xxx: Do not add duplicate CHAP entry in FLASH
QLogic applications store the CHAP information in FLASH. During login,
authentication information is provided using an index into the CHAP region.
In order to support QLogic applications along with iscsiadm, updated the
LLD to not add duplicate CHAP entries in the CHAP region and preserve the
existing CHAP info in the CHAP region in FLASH.
This allows QLogic applications to pre-write the CHAP entries in the
CHAP region.
With iscsiadm, when the CHAP authentication information is sent to the LLD, the
LLD searches for the entry in CHAP region in FLASH, if exists then do not add.
If CHAP entry does not exist then add the CHAP entry in the CHAP region.
JIRA Key: UPSISCSI-146
Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
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>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_fw.h')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_fw.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_fw.h b/drivers/scsi/qla4xxx/ql4_fw.h index 597875fbb24b..cbd5a20dbbd1 100644 --- a/drivers/scsi/qla4xxx/ql4_fw.h +++ b/drivers/scsi/qla4xxx/ql4_fw.h | |||
@@ -251,6 +251,8 @@ union external_hw_config_reg { | |||
251 | #define FA_BOOT_CODE_ADDR_82 0x20000 | 251 | #define FA_BOOT_CODE_ADDR_82 0x20000 |
252 | #define FA_RISC_CODE_ADDR_82 0x40000 | 252 | #define FA_RISC_CODE_ADDR_82 0x40000 |
253 | #define FA_GOLD_RISC_CODE_ADDR_82 0x80000 | 253 | #define FA_GOLD_RISC_CODE_ADDR_82 0x80000 |
254 | #define FA_FLASH_ISCSI_CHAP 0x540000 | ||
255 | #define FA_FLASH_CHAP_SIZE 0xC0000 | ||
254 | 256 | ||
255 | /* Flash Description Table */ | 257 | /* Flash Description Table */ |
256 | struct qla_fdt_layout { | 258 | struct qla_fdt_layout { |
@@ -310,6 +312,7 @@ struct qla_flt_header { | |||
310 | #define FLT_REG_GOLD_FW_82 0x75 | 312 | #define FLT_REG_GOLD_FW_82 0x75 |
311 | #define FLT_REG_BOOT_CODE_82 0x78 | 313 | #define FLT_REG_BOOT_CODE_82 0x78 |
312 | #define FLT_REG_ISCSI_PARAM 0x65 | 314 | #define FLT_REG_ISCSI_PARAM 0x65 |
315 | #define FLT_REG_ISCSI_CHAP 0x63 | ||
313 | 316 | ||
314 | struct qla_flt_region { | 317 | struct qla_flt_region { |
315 | uint32_t code; | 318 | uint32_t code; |
@@ -681,6 +684,8 @@ struct addr_ctrl_blk_def { | |||
681 | 684 | ||
682 | #define MAX_CHAP_ENTRIES_40XX 128 | 685 | #define MAX_CHAP_ENTRIES_40XX 128 |
683 | #define MAX_CHAP_ENTRIES_82XX 1024 | 686 | #define MAX_CHAP_ENTRIES_82XX 1024 |
687 | #define MAX_RESRV_CHAP_IDX 3 | ||
688 | #define FLASH_CHAP_OFFSET 0x06000000 | ||
684 | 689 | ||
685 | struct ql4_chap_table { | 690 | struct ql4_chap_table { |
686 | uint16_t link; | 691 | uint16_t link; |