[patch] qlogic: call request_irq() with private data

From: Aristeu Sergio Rozanski Filho
Date: Mon Oct 20 2003 - 18:25:19 EST




--
aris

--- linux/drivers/scsi/qlogicfas.c.orig 2003-10-17 16:49:30.000000000 -0200
+++ linux/drivers/scsi/qlogicfas.c 2003-10-17 16:54:06.000000000 -0200
@@ -650,9 +650,6 @@
} else
printk(KERN_INFO "Ql: Using preset IRQ %d\n", qlirq);

- if (qlirq >= 0 && !request_irq(qlirq, do_ql_ihandl, 0, "qlogicfas", NULL))
- host->can_queue = 1;
-
hreg = scsi_register(host, 0); /* no host data */
if (!hreg)
goto err_release_mem;
@@ -666,12 +663,20 @@
"Qlogicfas Driver version 0.46, chip %02X at %03X, IRQ %d, TPdma:%d",
qltyp, qbase, qlirq, QL_TURBO_PDMA);

+ if (request_irq(qlirq, do_ql_ihandl, 0, "qlogicfas", hreg))
+ goto free_scsi_host;
+
return hreg;

+free_scsi_host:
+#ifdef PCMCIA
+ scsi_host_put(hreg);
+#else
+ scsi_unregister(hreg);
+#endif
+
err_release_mem:
release_region(qbase, 0x10);
- if (host->can_queue)
- free_irq(qlirq, do_ql_ihandl);
return NULL;;

}