diff options
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 5b8db6109536..bbbc9d039baa 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -1011,9 +1011,10 @@ static int qla4xxx_recover_adapter(struct scsi_qla_host *ha, | |||
1011 | * the mid-level tries to sleep when it reaches the driver threshold | 1011 | * the mid-level tries to sleep when it reaches the driver threshold |
1012 | * "host->can_queue". This can cause a panic if we were in our interrupt code. | 1012 | * "host->can_queue". This can cause a panic if we were in our interrupt code. |
1013 | **/ | 1013 | **/ |
1014 | static void qla4xxx_do_dpc(void *data) | 1014 | static void qla4xxx_do_dpc(struct work_struct *work) |
1015 | { | 1015 | { |
1016 | struct scsi_qla_host *ha = (struct scsi_qla_host *) data; | 1016 | struct scsi_qla_host *ha = |
1017 | container_of(work, struct scsi_qla_host, dpc_work); | ||
1017 | struct ddb_entry *ddb_entry, *dtemp; | 1018 | struct ddb_entry *ddb_entry, *dtemp; |
1018 | 1019 | ||
1019 | DEBUG2(printk("scsi%ld: %s: DPC handler waking up.\n", | 1020 | DEBUG2(printk("scsi%ld: %s: DPC handler waking up.\n", |
@@ -1315,7 +1316,7 @@ static int __devinit qla4xxx_probe_adapter(struct pci_dev *pdev, | |||
1315 | ret = -ENODEV; | 1316 | ret = -ENODEV; |
1316 | goto probe_failed; | 1317 | goto probe_failed; |
1317 | } | 1318 | } |
1318 | INIT_WORK(&ha->dpc_work, qla4xxx_do_dpc, ha); | 1319 | INIT_WORK(&ha->dpc_work, qla4xxx_do_dpc); |
1319 | 1320 | ||
1320 | ret = request_irq(pdev->irq, qla4xxx_intr_handler, | 1321 | ret = request_irq(pdev->irq, qla4xxx_intr_handler, |
1321 | SA_INTERRUPT|SA_SHIRQ, "qla4xxx", ha); | 1322 | SA_INTERRUPT|SA_SHIRQ, "qla4xxx", ha); |