aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_bsg.c
diff options
context:
space:
mode:
authorGiridhar Malavali <giridhar.malavali@qlogic.com>2012-02-09 14:15:34 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-02-19 09:11:11 -0500
commit6246b8a1d26c7cdb77fd2f3f3578d4db025d5c9e (patch)
treeae6059dbe0d5e59dea54135841c0001643188d07 /drivers/scsi/qla2xxx/qla_bsg.c
parent050c9bb1361439e63dafb5f192f87b81d8ffbf4a (diff)
[SCSI] qla2xxx: Enhancements to support ISP83xx.
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: Harish Zunjarrao <harish.zunjarrao@qlogic.com> Signed-off-by: Nigel Kirkland <nigel.kirkland@qlogic.com> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_bsg.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_bsg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
index 1682e2e4201d..6887538d1736 100644
--- a/drivers/scsi/qla2xxx/qla_bsg.c
+++ b/drivers/scsi/qla2xxx/qla_bsg.c
@@ -540,7 +540,7 @@ qla81xx_set_internal_loopback(scsi_qla_host_t *vha, uint16_t *config,
540 int rval = 0; 540 int rval = 0;
541 struct qla_hw_data *ha = vha->hw; 541 struct qla_hw_data *ha = vha->hw;
542 542
543 if (!IS_QLA81XX(ha)) 543 if (!IS_QLA81XX(ha) && !IS_QLA83XX(ha))
544 goto done_set_internal; 544 goto done_set_internal;
545 545
546 new_config[0] = config[0] | (ENABLE_INTERNAL_LOOPBACK << 1); 546 new_config[0] = config[0] | (ENABLE_INTERNAL_LOOPBACK << 1);
@@ -582,7 +582,7 @@ qla81xx_reset_internal_loopback(scsi_qla_host_t *vha, uint16_t *config,
582 uint16_t new_config[4]; 582 uint16_t new_config[4];
583 struct qla_hw_data *ha = vha->hw; 583 struct qla_hw_data *ha = vha->hw;
584 584
585 if (!IS_QLA81XX(ha)) 585 if (!IS_QLA81XX(ha) && !IS_QLA83XX(ha))
586 goto done_reset_internal; 586 goto done_reset_internal;
587 587
588 memset(new_config, 0 , sizeof(new_config)); 588 memset(new_config, 0 , sizeof(new_config));
@@ -707,7 +707,7 @@ qla2x00_process_loopback(struct fc_bsg_job *bsg_job)
707 707
708 if ((ha->current_topology == ISP_CFG_F || 708 if ((ha->current_topology == ISP_CFG_F ||
709 (atomic_read(&vha->loop_state) == LOOP_DOWN) || 709 (atomic_read(&vha->loop_state) == LOOP_DOWN) ||
710 (IS_QLA81XX(ha) && 710 ((IS_QLA81XX(ha) || IS_QLA83XX(ha)) &&
711 le32_to_cpu(*(uint32_t *)req_data) == ELS_OPCODE_BYTE 711 le32_to_cpu(*(uint32_t *)req_data) == ELS_OPCODE_BYTE
712 && req_data_len == MAX_ELS_FRAME_PAYLOAD)) && 712 && req_data_len == MAX_ELS_FRAME_PAYLOAD)) &&
713 elreq.options == EXTERNAL_LOOPBACK) { 713 elreq.options == EXTERNAL_LOOPBACK) {
@@ -717,7 +717,7 @@ qla2x00_process_loopback(struct fc_bsg_job *bsg_job)
717 command_sent = INT_DEF_LB_ECHO_CMD; 717 command_sent = INT_DEF_LB_ECHO_CMD;
718 rval = qla2x00_echo_test(vha, &elreq, response); 718 rval = qla2x00_echo_test(vha, &elreq, response);
719 } else { 719 } else {
720 if (IS_QLA81XX(ha)) { 720 if (IS_QLA81XX(ha) || IS_QLA8031(ha)) {
721 memset(config, 0, sizeof(config)); 721 memset(config, 0, sizeof(config));
722 memset(new_config, 0, sizeof(new_config)); 722 memset(new_config, 0, sizeof(new_config));
723 if (qla81xx_get_port_config(vha, config)) { 723 if (qla81xx_get_port_config(vha, config)) {
@@ -1331,7 +1331,7 @@ qla2x00_optrom_setup(struct fc_bsg_job *bsg_job, scsi_qla_host_t *vha,
1331 start == (ha->flt_region_fw * 4)) 1331 start == (ha->flt_region_fw * 4))
1332 valid = 1; 1332 valid = 1;
1333 else if (IS_QLA24XX_TYPE(ha) || IS_QLA25XX(ha) || 1333 else if (IS_QLA24XX_TYPE(ha) || IS_QLA25XX(ha) ||
1334 IS_QLA8XXX_TYPE(ha)) 1334 IS_CNA_CAPABLE(ha) || IS_QLA2031(ha))
1335 valid = 1; 1335 valid = 1;
1336 if (!valid) { 1336 if (!valid) {
1337 ql_log(ql_log_warn, vha, 0x7058, 1337 ql_log(ql_log_warn, vha, 0x7058,