Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 45560
b: refs/heads/master
c: 0c8c39a
h: refs/heads/master
v: v3
  • Loading branch information
Andrew Vasquez authored and James Bottomley committed Jan 3, 2007
1 parent d9eb0a1 commit c3aed4c
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8bc69e7dc307d6195d92fa87da1fcbae6e5dda69
refs/heads/master: 0c8c39af1699227e5a5d13e54a71f93347fe4f61
8 changes: 5 additions & 3 deletions trunk/drivers/scsi/qla2xxx/qla_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -3476,9 +3476,11 @@ qla24xx_nvram_config(scsi_qla_host_t *ha)

/* Set host adapter parameters. */
ha->flags.disable_risc_code_load = 0;
ha->flags.enable_lip_reset = 1;
ha->flags.enable_lip_full_login = 1;
ha->flags.enable_target_reset = 1;
ha->flags.enable_lip_reset = 0;
ha->flags.enable_lip_full_login =
le32_to_cpu(nv->host_p) & BIT_10 ? 1: 0;
ha->flags.enable_target_reset =
le32_to_cpu(nv->host_p) & BIT_11 ? 1: 0;
ha->flags.enable_led_scheme = 0;
ha->flags.disable_serdes = le32_to_cpu(nv->host_p) & BIT_5 ? 1: 0;

Expand Down
10 changes: 5 additions & 5 deletions trunk/drivers/scsi/qla2xxx/qla_mbx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1339,9 +1339,9 @@ qla2x00_lip_reset(scsi_qla_host_t *ha)

if (IS_QLA24XX(ha) || IS_QLA54XX(ha)) {
mcp->mb[0] = MBC_LIP_FULL_LOGIN;
mcp->mb[1] = BIT_0;
mcp->mb[2] = 0xff;
mcp->mb[3] = 0;
mcp->mb[1] = BIT_6;
mcp->mb[2] = 0;
mcp->mb[3] = ha->loop_reset_delay;
mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0;
} else {
mcp->mb[0] = MBC_LIP_RESET;
Expand Down Expand Up @@ -1823,8 +1823,8 @@ qla2x00_full_login_lip(scsi_qla_host_t *ha)
ha->host_no));

mcp->mb[0] = MBC_LIP_FULL_LOGIN;
mcp->mb[1] = 0;
mcp->mb[2] = 0xff;
mcp->mb[1] = IS_QLA24XX(ha) || IS_QLA54XX(ha) ? BIT_3: 0;
mcp->mb[2] = 0;
mcp->mb[3] = 0;
mcp->out_mb = MBX_3|MBX_2|MBX_1|MBX_0;
mcp->in_mb = MBX_0;
Expand Down
55 changes: 28 additions & 27 deletions trunk/drivers/scsi/qla2xxx/qla_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -1037,48 +1037,49 @@ qla2xxx_eh_host_reset(struct scsi_cmnd *cmd)
static int
qla2x00_loop_reset(scsi_qla_host_t *ha)
{
int status = QLA_SUCCESS;
int ret;
struct fc_port *fcport;

if (ha->flags.enable_lip_full_login) {
ret = qla2x00_full_login_lip(ha);
if (ret != QLA_SUCCESS) {
DEBUG2_3(printk("%s(%ld): bus_reset failed: "
"full_login_lip=%d.\n", __func__, ha->host_no,
ret));
}
atomic_set(&ha->loop_state, LOOP_DOWN);
atomic_set(&ha->loop_down_timer, LOOP_DOWN_TIME);
qla2x00_mark_all_devices_lost(ha, 0);
qla2x00_wait_for_loop_ready(ha);
}

if (ha->flags.enable_lip_reset) {
status = qla2x00_lip_reset(ha);
ret = qla2x00_lip_reset(ha);
if (ret != QLA_SUCCESS) {
DEBUG2_3(printk("%s(%ld): bus_reset failed: "
"lip_reset=%d.\n", __func__, ha->host_no, ret));
}
qla2x00_wait_for_loop_ready(ha);
}

if (status == QLA_SUCCESS && ha->flags.enable_target_reset) {
if (ha->flags.enable_target_reset) {
list_for_each_entry(fcport, &ha->fcports, list) {
if (fcport->port_type != FCT_TARGET)
continue;

status = qla2x00_device_reset(ha, fcport);
if (status != QLA_SUCCESS)
break;
ret = qla2x00_device_reset(ha, fcport);
if (ret != QLA_SUCCESS) {
DEBUG2_3(printk("%s(%ld): bus_reset failed: "
"target_reset=%d d_id=%x.\n", __func__,
ha->host_no, ret, fcport->d_id.b24));
}
}
}

if (status == QLA_SUCCESS &&
((!ha->flags.enable_target_reset &&
!ha->flags.enable_lip_reset) ||
ha->flags.enable_lip_full_login)) {

status = qla2x00_full_login_lip(ha);
}

/* Issue marker command only when we are going to start the I/O */
ha->marker_needed = 1;

if (status) {
/* Empty */
DEBUG2_3(printk("%s(%ld): **** FAILED ****\n",
__func__,
ha->host_no));
} else {
/* Empty */
DEBUG3(printk("%s(%ld): exiting normally.\n",
__func__,
ha->host_no));
}

return(status);
return QLA_SUCCESS;
}

/*
Expand Down

0 comments on commit c3aed4c

Please sign in to comment.