forked from luck/tmp_suning_uos_patched
[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: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
da7429f9ab
commit
a4722cf24d
@ -958,7 +958,7 @@ qla2x00_issue_lip(struct Scsi_Host *shost)
|
||||
{
|
||||
scsi_qla_host_t *ha = shost_priv(shost);
|
||||
|
||||
set_bit(LOOP_RESET_NEEDED, &ha->dpc_flags);
|
||||
qla2x00_loop_reset(ha);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -65,6 +65,8 @@ extern int ql2xextended_error_logging;
|
||||
extern int ql2xqfullrampup;
|
||||
extern int num_hosts;
|
||||
|
||||
extern int qla2x00_loop_reset(scsi_qla_host_t *);
|
||||
|
||||
/*
|
||||
* Global Functions in qla_mid.c source file.
|
||||
*/
|
||||
|
@ -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_bus_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_change_queue_depth(struct scsi_device *, int);
|
||||
@ -1060,7 +1059,7 @@ qla2xxx_eh_host_reset(struct scsi_cmnd *cmd)
|
||||
* Returns:
|
||||
* 0 = success
|
||||
*/
|
||||
static int
|
||||
int
|
||||
qla2x00_loop_reset(scsi_qla_host_t *ha)
|
||||
{
|
||||
int ret;
|
||||
|
Loading…
Reference in New Issue
Block a user