Skip to contentSkip to conversation

qlogic: call request_irq with private data

PATCH New Aristeu Sergio Rozanski Filho 1 participant 1 message Oct 24, 2003 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qlogic: call request_irq with private data

Signature · 1 line
aris
drivers/scsi/qlogicfas.c renamed from drivers/scsi/qlogicfas.c.orig +10 -5
@@ -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;;
 
 }