diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mid.c')
| -rw-r--r-- | drivers/scsi/qla2xxx/qla_mid.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c index b901aa267e7..ff17dee2861 100644 --- a/drivers/scsi/qla2xxx/qla_mid.c +++ b/drivers/scsi/qla2xxx/qla_mid.c @@ -636,13 +636,15 @@ failed:  static void qla_do_work(struct work_struct *work)  { +	unsigned long flags;  	struct rsp_que *rsp = container_of(work, struct rsp_que, q_work);  	struct scsi_qla_host *vha; +	struct qla_hw_data *ha = rsp->hw; -	spin_lock_irq(&rsp->hw->hardware_lock); -	vha = qla25xx_get_host(rsp); +	spin_lock_irqsave(&rsp->hw->hardware_lock, flags); +	vha = pci_get_drvdata(ha->pdev);  	qla24xx_process_response_queue(vha, rsp); -	spin_unlock_irq(&rsp->hw->hardware_lock); +	spin_unlock_irqrestore(&rsp->hw->hardware_lock, flags);  }  /* create response queue */  |