diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 880de6f380e9..2ccdd848bcf6 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -89,6 +89,17 @@ qla2x00_initialize_adapter(scsi_qla_host_t *ha) | |||
89 | 89 | ||
90 | ha->isp_ops.nvram_config(ha); | 90 | ha->isp_ops.nvram_config(ha); |
91 | 91 | ||
92 | if (ha->flags.disable_serdes) { | ||
93 | /* Mask HBA via NVRAM settings? */ | ||
94 | qla_printk(KERN_INFO, ha, "Masking HBA WWPN " | ||
95 | "%02x%02x%02x%02x%02x%02x%02x%02x (via NVRAM).\n", | ||
96 | ha->port_name[0], ha->port_name[1], | ||
97 | ha->port_name[2], ha->port_name[3], | ||
98 | ha->port_name[4], ha->port_name[5], | ||
99 | ha->port_name[6], ha->port_name[7]); | ||
100 | return QLA_FUNCTION_FAILED; | ||
101 | } | ||
102 | |||
92 | qla_printk(KERN_INFO, ha, "Verifying loaded RISC code...\n"); | 103 | qla_printk(KERN_INFO, ha, "Verifying loaded RISC code...\n"); |
93 | 104 | ||
94 | retry = 10; | 105 | retry = 10; |
@@ -1639,6 +1650,7 @@ qla2x00_nvram_config(scsi_qla_host_t *ha) | |||
1639 | ha->flags.enable_lip_full_login = ((nv->host_p[1] & BIT_2) ? 1 : 0); | 1650 | ha->flags.enable_lip_full_login = ((nv->host_p[1] & BIT_2) ? 1 : 0); |
1640 | ha->flags.enable_target_reset = ((nv->host_p[1] & BIT_3) ? 1 : 0); | 1651 | ha->flags.enable_target_reset = ((nv->host_p[1] & BIT_3) ? 1 : 0); |
1641 | ha->flags.enable_led_scheme = (nv->special_options[1] & BIT_4) ? 1 : 0; | 1652 | ha->flags.enable_led_scheme = (nv->special_options[1] & BIT_4) ? 1 : 0; |
1653 | ha->flags.disable_serdes = 0; | ||
1642 | 1654 | ||
1643 | ha->operating_mode = | 1655 | ha->operating_mode = |
1644 | (icb->add_firmware_options[0] & (BIT_6 | BIT_5 | BIT_4)) >> 4; | 1656 | (icb->add_firmware_options[0] & (BIT_6 | BIT_5 | BIT_4)) >> 4; |
@@ -3450,6 +3462,7 @@ qla24xx_nvram_config(scsi_qla_host_t *ha) | |||
3450 | ha->flags.enable_lip_full_login = 1; | 3462 | ha->flags.enable_lip_full_login = 1; |
3451 | ha->flags.enable_target_reset = 1; | 3463 | ha->flags.enable_target_reset = 1; |
3452 | ha->flags.enable_led_scheme = 0; | 3464 | ha->flags.enable_led_scheme = 0; |
3465 | ha->flags.disable_serdes = le32_to_cpu(nv->host_p) & BIT_5 ? 1: 0; | ||
3453 | 3466 | ||
3454 | ha->operating_mode = (le32_to_cpu(icb->firmware_options_2) & | 3467 | ha->operating_mode = (le32_to_cpu(icb->firmware_options_2) & |
3455 | (BIT_6 | BIT_5 | BIT_4)) >> 4; | 3468 | (BIT_6 | BIT_5 | BIT_4)) >> 4; |