Commit a4722cf2 authored by Andrew Vasquez's avatar Andrew Vasquez Committed by James Bottomley

[SCSI] qla2xxx: Don't schedule the DPC routine to perform an issue-lip request.

As the driver depends on the DPC routine to handle bottom-half
loop resynchronization in order to recover from the issue-lip
request.  The issue_lip call is sleeping context capable, so just
issue the reset function there.
Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent da7429f9
...@@ -958,7 +958,7 @@ qla2x00_issue_lip(struct Scsi_Host *shost) ...@@ -958,7 +958,7 @@ qla2x00_issue_lip(struct Scsi_Host *shost)
{ {
scsi_qla_host_t *ha = shost_priv(shost); scsi_qla_host_t *ha = shost_priv(shost);
set_bit(LOOP_RESET_NEEDED, &ha->dpc_flags); qla2x00_loop_reset(ha);
return 0; return 0;
} }
......
...@@ -65,6 +65,8 @@ extern int ql2xextended_error_logging; ...@@ -65,6 +65,8 @@ extern int ql2xextended_error_logging;
extern int ql2xqfullrampup; extern int ql2xqfullrampup;
extern int num_hosts; extern int num_hosts;
extern int qla2x00_loop_reset(scsi_qla_host_t *);
/* /*
* Global Functions in qla_mid.c source file. * Global Functions in qla_mid.c source file.
*/ */
......
...@@ -105,7 +105,6 @@ static int qla2xxx_eh_abort(struct scsi_cmnd *); ...@@ -105,7 +105,6 @@ static int qla2xxx_eh_abort(struct scsi_cmnd *);
static int qla2xxx_eh_device_reset(struct scsi_cmnd *); static int qla2xxx_eh_device_reset(struct scsi_cmnd *);
static int qla2xxx_eh_bus_reset(struct scsi_cmnd *); static int qla2xxx_eh_bus_reset(struct scsi_cmnd *);
static int qla2xxx_eh_host_reset(struct scsi_cmnd *); static int qla2xxx_eh_host_reset(struct scsi_cmnd *);
static int qla2x00_loop_reset(scsi_qla_host_t *ha);
static int qla2x00_device_reset(scsi_qla_host_t *, fc_port_t *); static int qla2x00_device_reset(scsi_qla_host_t *, fc_port_t *);
static int qla2x00_change_queue_depth(struct scsi_device *, int); static int qla2x00_change_queue_depth(struct scsi_device *, int);
...@@ -1060,7 +1059,7 @@ qla2xxx_eh_host_reset(struct scsi_cmnd *cmd) ...@@ -1060,7 +1059,7 @@ qla2xxx_eh_host_reset(struct scsi_cmnd *cmd)
* Returns: * Returns:
* 0 = success * 0 = success
*/ */
static int int
qla2x00_loop_reset(scsi_qla_host_t *ha) qla2x00_loop_reset(scsi_qla_host_t *ha)
{ {
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment