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 b901aa267e7d..ff17dee28613 100644 --- a/drivers/scsi/qla2xxx/qla_mid.c +++ b/drivers/scsi/qla2xxx/qla_mid.c | |||
| @@ -636,13 +636,15 @@ failed: | |||
| 636 | 636 | ||
| 637 | static void qla_do_work(struct work_struct *work) | 637 | static void qla_do_work(struct work_struct *work) |
| 638 | { | 638 | { |
| 639 | unsigned long flags; | ||
| 639 | struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); | 640 | struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); |
| 640 | struct scsi_qla_host *vha; | 641 | struct scsi_qla_host *vha; |
| 642 | struct qla_hw_data *ha = rsp->hw; | ||
| 641 | 643 | ||
| 642 | spin_lock_irq(&rsp->hw->hardware_lock); | 644 | spin_lock_irqsave(&rsp->hw->hardware_lock, flags); |
| 643 | vha = qla25xx_get_host(rsp); | 645 | vha = pci_get_drvdata(ha->pdev); |
| 644 | qla24xx_process_response_queue(vha, rsp); | 646 | qla24xx_process_response_queue(vha, rsp); |
| 645 | spin_unlock_irq(&rsp->hw->hardware_lock); | 647 | spin_unlock_irqrestore(&rsp->hw->hardware_lock, flags); |
| 646 | } | 648 | } |
| 647 | 649 | ||
| 648 | /* create response queue */ | 650 | /* create response queue */ |
