lkml.org 
[lkml]   [2003]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[patch][2/3] qlogic: call request_irq() with private data
From
-- 
aris

--- linux/drivers/scsi/qlogicfas.c.orig 2003-10-15 23:42:15.000000000 -0200
+++ linux/drivers/scsi/qlogicfas.c 2003-10-15 23:44:11.000000000 -0200
@@ -667,9 +667,6 @@
qlirq = j;
} 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;
#endif
hreg = scsi_host_alloc(host, 0); /* no host data */
if (!hreg)
@@ -677,17 +674,23 @@
hreg->io_port = qbase;
hreg->n_io_port = 16;
hreg->dma_channel = -1;
- if (qlirq != -1)
- hreg->irq = qlirq;
+ hreg->irq = qlirq;
+ hreg->can_queue = 1;
INIT_LIST_HEAD(&hreg->sht_legacy_list);

sprintf(qinfo,
"Qlogicfas Driver version 0.46, chip %02X at %03X, IRQ %d, TPdma:%d",
qltyp, qbase, qlirq, QL_TURBO_PDMA);
host->name = qinfo;
+#ifdef QL_USE_IRQ
+ if (qlirq < 0 || request_irq(qlirq, do_ql_ihandl, 0, "qlogicfas", hreg))
+ goto free_scsi_host;
+#endif

return hreg;

+free_scsi_host:
+ kfree(hreg);
err_release_mem:
release_region(qbase, 0x10);
if (host->can_queue)
\
 
 \ /
  Last update: 2005-03-22 13:49    [W:0.056 / U:7.560 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site