diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 7d973bd9022b..a91fea69ad63 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -1014,11 +1014,13 @@ qla24xx_update_fw_options(scsi_qla_host_t *ha) | |||
1014 | int rval; | 1014 | int rval; |
1015 | 1015 | ||
1016 | /* Update Serial Link options. */ | 1016 | /* Update Serial Link options. */ |
1017 | if ((ha->fw_seriallink_options24[0] & BIT_0) == 0) | 1017 | if ((le16_to_cpu(ha->fw_seriallink_options24[0]) & BIT_0) == 0) |
1018 | return; | 1018 | return; |
1019 | 1019 | ||
1020 | rval = qla2x00_set_serdes_params(ha, ha->fw_seriallink_options24[1], | 1020 | rval = qla2x00_set_serdes_params(ha, |
1021 | ha->fw_seriallink_options24[2], ha->fw_seriallink_options24[3]); | 1021 | le16_to_cpu(ha->fw_seriallink_options24[1]), |
1022 | le16_to_cpu(ha->fw_seriallink_options24[2]), | ||
1023 | le16_to_cpu(ha->fw_seriallink_options24[3])); | ||
1022 | if (rval != QLA_SUCCESS) { | 1024 | if (rval != QLA_SUCCESS) { |
1023 | qla_printk(KERN_WARNING, ha, | 1025 | qla_printk(KERN_WARNING, ha, |
1024 | "Unable to update Serial Link options (%x).\n", rval); | 1026 | "Unable to update Serial Link options (%x).\n", rval); |
@@ -1939,6 +1941,9 @@ qla2x00_configure_local_loop(scsi_qla_host_t *ha) | |||
1939 | "information -- get_port_database=%x, " | 1941 | "information -- get_port_database=%x, " |
1940 | "loop_id=0x%04x\n", | 1942 | "loop_id=0x%04x\n", |
1941 | ha->host_no, rval2, new_fcport->loop_id)); | 1943 | ha->host_no, rval2, new_fcport->loop_id)); |
1944 | DEBUG2(printk("scsi(%ld): Scheduling resync...\n", | ||
1945 | ha->host_no)); | ||
1946 | set_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags); | ||
1942 | continue; | 1947 | continue; |
1943 | } | 1948 | } |
1944 | 1949 | ||
@@ -2648,7 +2653,8 @@ qla2x00_device_resync(scsi_qla_host_t *ha) | |||
2648 | 2653 | ||
2649 | switch (format) { | 2654 | switch (format) { |
2650 | case 0: | 2655 | case 0: |
2651 | if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && | 2656 | if (ql2xprocessrscn && |
2657 | !IS_QLA2100(ha) && !IS_QLA2200(ha) && | ||
2652 | !IS_QLA6312(ha) && !IS_QLA6322(ha) && | 2658 | !IS_QLA6312(ha) && !IS_QLA6322(ha) && |
2653 | !IS_QLA24XX(ha) && !IS_QLA25XX(ha) && | 2659 | !IS_QLA24XX(ha) && !IS_QLA25XX(ha) && |
2654 | ha->flags.init_done) { | 2660 | ha->flags.init_done) { |
@@ -3402,6 +3408,8 @@ qla24xx_nvram_config(scsi_qla_host_t *ha) | |||
3402 | ha->node_name = icb->node_name; | 3408 | ha->node_name = icb->node_name; |
3403 | ha->port_name = icb->port_name; | 3409 | ha->port_name = icb->port_name; |
3404 | 3410 | ||
3411 | icb->execution_throttle = __constant_cpu_to_le16(0xFFFF); | ||
3412 | |||
3405 | ha->retry_count = le16_to_cpu(nv->login_retry_count); | 3413 | ha->retry_count = le16_to_cpu(nv->login_retry_count); |
3406 | 3414 | ||
3407 | /* Set minimum login_timeout to 4 seconds. */ | 3415 | /* Set minimum login_timeout to 4 seconds. */ |
@@ -3667,8 +3675,8 @@ qla24xx_load_risc_flash(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
3667 | for (i = 0; i < dlen; i++) | 3675 | for (i = 0; i < dlen; i++) |
3668 | dcode[i] = swab32(dcode[i]); | 3676 | dcode[i] = swab32(dcode[i]); |
3669 | 3677 | ||
3670 | rval = qla2x00_load_ram_ext(ha, ha->request_dma, | 3678 | rval = qla2x00_load_ram(ha, ha->request_dma, risc_addr, |
3671 | risc_addr, dlen); | 3679 | dlen); |
3672 | if (rval) { | 3680 | if (rval) { |
3673 | DEBUG(printk("scsi(%ld):[ERROR] Failed to load " | 3681 | DEBUG(printk("scsi(%ld):[ERROR] Failed to load " |
3674 | "segment %d of firmware\n", ha->host_no, | 3682 | "segment %d of firmware\n", ha->host_no, |
@@ -3868,8 +3876,8 @@ qla24xx_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
3868 | for (i = 0; i < dlen; i++) | 3876 | for (i = 0; i < dlen; i++) |
3869 | dcode[i] = swab32(fwcode[i]); | 3877 | dcode[i] = swab32(fwcode[i]); |
3870 | 3878 | ||
3871 | rval = qla2x00_load_ram_ext(ha, ha->request_dma, | 3879 | rval = qla2x00_load_ram(ha, ha->request_dma, risc_addr, |
3872 | risc_addr, dlen); | 3880 | dlen); |
3873 | if (rval) { | 3881 | if (rval) { |
3874 | DEBUG(printk("scsi(%ld):[ERROR] Failed to load " | 3882 | DEBUG(printk("scsi(%ld):[ERROR] Failed to load " |
3875 | "segment %d of firmware\n", ha->host_no, | 3883 | "segment %d of firmware\n", ha->host_no, |