1 diff -urN linux-2.4.18/drivers/net/3c501.c linux/drivers/net/3c501.c
2 --- linux-2.4.18/drivers/net/3c501.c Mon Feb 25 17:10:41 2002
3 +++ linux/drivers/net/3c501.c Mon Feb 25 17:42:30 2002
6 printk("%s: Doing el_open()...", dev->name);
8 - if ((retval = request_irq(dev->irq, &el_interrupt, 0, dev->name, dev)))
9 + if ((retval = request_irq(dev->irq, &el_interrupt,
10 + SA_NET_RANDOM, dev->name, dev)))
13 spin_lock_irqsave(&lp->lock, flags);
14 diff -urN linux-2.4.18/drivers/net/3c503.c linux/drivers/net/3c503.c
15 --- linux-2.4.18/drivers/net/3c503.c Mon Feb 25 17:10:41 2002
16 +++ linux/drivers/net/3c503.c Mon Feb 25 17:42:30 2002
18 outb_p(0x00, E33G_IDCFR);
19 if (*irqp == probe_irq_off(cookie) /* It's a good IRQ line! */
20 && ((retval = request_irq(dev->irq = *irqp,
21 - ei_interrupt, 0, dev->name, dev)) == 0))
22 + ei_interrupt, SA_NET_RANDOM, dev->name, dev)) == 0))
30 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
31 + if ((retval = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM, dev->name, dev))) {
35 diff -urN linux-2.4.18/drivers/net/3c505.c linux/drivers/net/3c505.c
36 --- linux-2.4.18/drivers/net/3c505.c Mon Feb 25 17:10:41 2002
37 +++ linux/drivers/net/3c505.c Mon Feb 25 17:42:30 2002
40 * install our interrupt service routine
42 - if ((retval = request_irq(dev->irq, &elp_interrupt, 0, dev->name, dev))) {
43 + if ((retval = request_irq(dev->irq, &elp_interrupt,
44 + SA_NET_RANDOM, dev->name, dev))) {
45 printk(KERN_ERR "%s: could not allocate IRQ%d\n", dev->name, dev->irq);
48 diff -urN linux-2.4.18/drivers/net/3c507.c linux/drivers/net/3c507.c
49 --- linux-2.4.18/drivers/net/3c507.c Mon Feb 25 17:10:41 2002
50 +++ linux/drivers/net/3c507.c Mon Feb 25 17:42:30 2002
53 irq = inb(ioaddr + IRQ_CONFIG) & 0x0f;
55 - irqval = request_irq(irq, &el16_interrupt, 0, dev->name, dev);
56 + irqval = request_irq(irq, &el16_interrupt, SA_NET_RANDOM,
59 printk ("unable to get IRQ %d (irqval=%d).\n", irq, irqval);
61 diff -urN linux-2.4.18/drivers/net/3c509.c linux/drivers/net/3c509.c
62 --- linux-2.4.18/drivers/net/3c509.c Mon Feb 25 17:10:41 2002
63 +++ linux/drivers/net/3c509.c Mon Feb 25 17:42:30 2002
65 outw(RxReset, ioaddr + EL3_CMD);
66 outw(SetStatusEnb | 0x00, ioaddr + EL3_CMD);
68 - i = request_irq(dev->irq, &el3_interrupt, 0, dev->name, dev);
69 + i = request_irq(dev->irq, &el3_interrupt,
70 + SA_NET_RANDOM, dev->name, dev);
74 diff -urN linux-2.4.18/drivers/net/3c515.c linux/drivers/net/3c515.c
75 --- linux-2.4.18/drivers/net/3c515.c Mon Feb 25 17:10:44 2002
76 +++ linux/drivers/net/3c515.c Mon Feb 25 17:42:30 2002
78 /* Corkscrew: Cannot share ISA resources. */
81 - || request_irq(dev->irq, &corkscrew_interrupt, 0,
82 - vp->product_name, dev)) return -EAGAIN;
83 + || request_irq(dev->irq, &corkscrew_interrupt,
85 + vp->product_name, dev)) return -EAGAIN;
87 set_dma_mode(dev->dma, DMA_MODE_CASCADE);
88 - } else if (request_irq(dev->irq, &corkscrew_interrupt, SA_SHIRQ,
89 + } else if (request_irq(dev->irq, &corkscrew_interrupt,
90 + SA_SHIRQ | SA_NET_RANDOM,
91 vp->product_name, dev)) {
94 diff -urN linux-2.4.18/drivers/net/3c523.c linux/drivers/net/3c523.c
95 --- linux-2.4.18/drivers/net/3c523.c Mon Feb 25 17:10:41 2002
96 +++ linux/drivers/net/3c523.c Mon Feb 25 17:42:30 2002
99 elmc_id_attn586(); /* disable interrupts */
101 - ret = request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM,
103 + ret = request_irq(dev->irq, &elmc_interrupt,
104 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
106 printk(KERN_ERR "%s: couldn't get irq %d\n", dev->name, dev->irq);
108 diff -urN linux-2.4.18/drivers/net/3c527.c linux/drivers/net/3c527.c
109 --- linux-2.4.18/drivers/net/3c527.c Mon Feb 25 17:10:45 2002
110 +++ linux/drivers/net/3c527.c Mon Feb 25 17:42:30 2002
115 - i = request_irq(dev->irq, &mc32_interrupt, SA_SHIRQ, dev->name, dev);
116 + i = request_irq(dev->irq, &mc32_interrupt, SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
118 release_region(dev->base_addr, MC32_IO_EXTENT);
119 printk(KERN_ERR "%s: unable to get IRQ %d.\n", dev->name, dev->irq);
120 diff -urN linux-2.4.18/drivers/net/3c59x.c linux/drivers/net/3c59x.c
121 --- linux-2.4.18/drivers/net/3c59x.c Mon Feb 25 17:10:41 2002
122 +++ linux/drivers/net/3c59x.c Mon Feb 25 17:42:30 2002
123 @@ -1578,7 +1578,8 @@
125 /* Use the now-standard shared IRQ implementation. */
126 if ((retval = request_irq(dev->irq, vp->full_bus_master_rx ?
127 - &boomerang_interrupt : &vortex_interrupt, SA_SHIRQ, dev->name, dev))) {
128 + &boomerang_interrupt : &vortex_interrupt,
129 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev))) {
130 printk(KERN_ERR "%s: Could not reserve IRQ %d\n", dev->name, dev->irq);
133 diff -urN linux-2.4.18/drivers/net/7990.c linux/drivers/net/7990.c
134 --- linux-2.4.18/drivers/net/7990.c Mon Feb 25 17:10:45 2002
135 +++ linux/drivers/net/7990.c Mon Feb 25 17:42:30 2002
139 /* Install the Interrupt handler. Or we could shunt this out to specific drivers? */
140 - if (request_irq(lp->irq, lance_interrupt, 0, lp->name, dev))
141 + if (request_irq(lp->irq, lance_interrupt, SA_NET_RANDOM, lp->name, dev))
144 res = lance_reset(dev);
145 diff -urN linux-2.4.18/drivers/net/8139cp.c linux/drivers/net/8139cp.c
146 --- linux-2.4.18/drivers/net/8139cp.c Mon Feb 25 17:10:48 2002
147 +++ linux/drivers/net/8139cp.c Mon Feb 25 17:42:30 2002
152 - rc = request_irq(dev->irq, cp_interrupt, SA_SHIRQ, dev->name, dev);
153 + rc = request_irq(dev->irq, cp_interrupt,
154 + SA_NET_RANDOM | SA_SHIRQ, dev->name, dev);
158 diff -urN linux-2.4.18/drivers/net/8139too.c linux/drivers/net/8139too.c
159 --- linux-2.4.18/drivers/net/8139too.c Mon Feb 25 17:10:45 2002
160 +++ linux/drivers/net/8139too.c Mon Feb 25 17:42:30 2002
161 @@ -1258,7 +1258,8 @@
162 void *ioaddr = tp->mmio_addr;
165 - retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev);
166 + retval = request_irq (dev->irq, rtl8139_interrupt,
167 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
171 diff -urN linux-2.4.18/drivers/net/82596.c linux/drivers/net/82596.c
172 --- linux-2.4.18/drivers/net/82596.c Mon Feb 25 17:10:45 2002
173 +++ linux/drivers/net/82596.c Mon Feb 25 17:42:30 2002
176 DEB(DEB_OPEN,printk("%s: i596_open() irq %d.\n", dev->name, dev->irq));
178 - if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
179 + if (request_irq(dev->irq, &i596_interrupt, SA_NET_RANDOM,
181 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
184 diff -urN linux-2.4.18/drivers/net/a2065.c linux/drivers/net/a2065.c
185 --- linux-2.4.18/drivers/net/a2065.c Mon Feb 25 17:10:42 2002
186 +++ linux/drivers/net/a2065.c Mon Feb 25 17:42:30 2002
190 /* Install the Interrupt handler */
191 - ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt, SA_SHIRQ,
193 + ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt,
194 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
198 diff -urN linux-2.4.18/drivers/net/ac3200.c linux/drivers/net/ac3200.c
199 --- linux-2.4.18/drivers/net/ac3200.c Mon Feb 25 17:10:41 2002
200 +++ linux/drivers/net/ac3200.c Mon Feb 25 17:42:30 2002
202 printk(", assigning");
205 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
206 + retval = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
209 printk (" nothing! Unable to get IRQ %d.\n", dev->irq);
211 diff -urN linux-2.4.18/drivers/net/acenic.c linux/drivers/net/acenic.c
212 --- linux-2.4.18/drivers/net/acenic.c Mon Feb 25 17:10:41 2002
213 +++ linux/drivers/net/acenic.c Mon Feb 25 17:42:30 2002
214 @@ -1370,7 +1370,8 @@
218 - ecode = request_irq(dev->irq, ace_interrupt, SA_SHIRQ, dev->name, dev);
219 + ecode = request_irq(dev->irq, ace_interrupt,
220 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
222 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
223 dev->name, dev->irq);
224 diff -urN linux-2.4.18/drivers/net/aironet4500_card.c linux/drivers/net/aironet4500_card.c
225 --- linux-2.4.18/drivers/net/aironet4500_card.c Mon Feb 25 17:10:46 2002
226 +++ linux/drivers/net/aironet4500_card.c Mon Feb 25 17:42:30 2002
228 dev->watchdog_timeo = AWC_TX_TIMEOUT;
231 - i = request_irq(dev->irq,awc_interrupt, SA_SHIRQ | SA_INTERRUPT, dev->name, dev);
232 + i = request_irq(dev->irq,awc_interrupt, SA_SHIRQ | SA_INTERRUPT | SA_NET_RANDOM, dev->name, dev);
236 diff -urN linux-2.4.18/drivers/net/am79c961a.c linux/drivers/net/am79c961a.c
237 --- linux-2.4.18/drivers/net/am79c961a.c Mon Feb 25 17:10:45 2002
238 +++ linux/drivers/net/am79c961a.c Mon Feb 25 17:42:30 2002
241 memset (&priv->stats, 0, sizeof (priv->stats));
243 - ret = request_irq(dev->irq, am79c961_interrupt, 0, dev->name, dev);
244 + ret = request_irq(dev->irq, am79c961_interrupt, SA_NET_RANDOM,
249 diff -urN linux-2.4.18/drivers/net/apne.c linux/drivers/net/apne.c
250 --- linux-2.4.18/drivers/net/apne.c Mon Feb 25 17:10:41 2002
251 +++ linux/drivers/net/apne.c Mon Feb 25 17:42:30 2002
253 dev->base_addr = ioaddr;
255 /* Install the Interrupt handler */
256 - i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ, dev->name, dev);
257 + i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt,
258 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
261 /* Allocate dev->priv and fill in 8390 specific dev fields. */
262 diff -urN linux-2.4.18/drivers/net/appletalk/cops.c linux/drivers/net/appletalk/cops.c
263 --- linux-2.4.18/drivers/net/appletalk/cops.c Mon Feb 25 17:10:46 2002
264 +++ linux/drivers/net/appletalk/cops.c Mon Feb 25 17:42:30 2002
267 /* Reserve any actual interrupt. */
269 - retval = request_irq(dev->irq, &cops_interrupt, 0, dev->name, dev);
270 + retval = request_irq(dev->irq, &cops_interrupt,
271 + SA_NET_RANDOM, dev->name, dev);
275 diff -urN linux-2.4.18/drivers/net/appletalk/ltpc.c linux/drivers/net/appletalk/ltpc.c
276 --- linux-2.4.18/drivers/net/appletalk/ltpc.c Mon Feb 25 17:10:46 2002
277 +++ linux/drivers/net/appletalk/ltpc.c Mon Feb 25 17:42:30 2002
278 @@ -1200,7 +1200,8 @@
281 /* grab it and don't let go :-) */
282 - (void) request_irq( irq, <pc_interrupt, 0, "ltpc", dev);
283 + (void) request_irq(irq, <pc_interrupt,
284 + SA_NET_RANDOM, "ltpc", dev);
285 (void) inb_p(io+7); /* enable interrupts from board */
286 (void) inb_p(io+7); /* and reset irq line */
288 diff -urN linux-2.4.18/drivers/net/arcnet/arc-rimi.c linux/drivers/net/arcnet/arc-rimi.c
289 --- linux-2.4.18/drivers/net/arcnet/arc-rimi.c Mon Feb 25 17:10:45 2002
290 +++ linux/drivers/net/arcnet/arc-rimi.c Mon Feb 25 17:42:30 2002
294 /* reserve the irq */ {
295 - if (request_irq(dev->irq, &arcnet_interrupt, 0, "arcnet (RIM I)", dev))
296 + if (request_irq(dev->irq, &arcnet_interrupt,
297 + SA_NET_RANDOM, "arcnet (RIM I)", dev))
298 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
301 diff -urN linux-2.4.18/drivers/net/arcnet/com20020.c linux/drivers/net/arcnet/com20020.c
302 --- linux-2.4.18/drivers/net/arcnet/com20020.c Mon Feb 25 17:10:45 2002
303 +++ linux/drivers/net/arcnet/com20020.c Mon Feb 25 17:42:30 2002
305 outb(dev->dev_addr[0], _XREG);
307 /* reserve the irq */
308 - if (request_irq(dev->irq, &arcnet_interrupt, shared,
309 + if (request_irq(dev->irq, &arcnet_interrupt,
310 + shared | SA_NET_RANDOM,
311 "arcnet (COM20020)", dev)) {
312 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
314 diff -urN linux-2.4.18/drivers/net/arcnet/com90io.c linux/drivers/net/arcnet/com90io.c
315 --- linux-2.4.18/drivers/net/arcnet/com90io.c Mon Feb 25 17:10:45 2002
316 +++ linux/drivers/net/arcnet/com90io.c Mon Feb 25 17:42:30 2002
318 int ioaddr = dev->base_addr;
320 /* Reserve the irq */
321 - if (request_irq(dev->irq, &arcnet_interrupt, 0, "arcnet (COM90xx-IO)", dev)) {
322 + if (request_irq(dev->irq, &arcnet_interrupt,
323 + SA_NET_RANDOM, "arcnet (COM90xx-IO)", dev)) {
324 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
327 diff -urN linux-2.4.18/drivers/net/arcnet/com90xx.c linux/drivers/net/arcnet/com90xx.c
328 --- linux-2.4.18/drivers/net/arcnet/com90xx.c Mon Feb 25 17:10:45 2002
329 +++ linux/drivers/net/arcnet/com90xx.c Mon Feb 25 17:42:30 2002
331 dev->dev_addr[0] = readb(lp->mem_start + 1);
333 /* reserve the irq */
334 - if (request_irq(airq, &arcnet_interrupt, 0, "arcnet (90xx)", dev)) {
335 + if (request_irq(airq, &arcnet_interrupt, SA_NET_RANDOM,
336 + "arcnet (90xx)", dev)) {
337 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", airq);
340 diff -urN linux-2.4.18/drivers/net/ariadne.c linux/drivers/net/ariadne.c
341 --- linux-2.4.18/drivers/net/ariadne.c Mon Feb 25 17:10:44 2002
342 +++ linux/drivers/net/ariadne.c Mon Feb 25 17:42:30 2002
345 netif_start_queue(dev);
347 - i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt, SA_SHIRQ,
349 + i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt,
350 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
353 lance->RAP = CSR0; /* PCnet-ISA Controller Status */
354 diff -urN linux-2.4.18/drivers/net/ariadne2.c linux/drivers/net/ariadne2.c
355 --- linux-2.4.18/drivers/net/ariadne2.c Mon Feb 25 17:10:45 2002
356 +++ linux/drivers/net/ariadne2.c Mon Feb 25 17:42:30 2002
358 dev->irq = IRQ_AMIGA_PORTS;
360 /* Install the Interrupt handler */
361 - i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, dev->name, dev);
362 + i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
363 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
366 /* Allocate dev->priv and fill in 8390 specific dev fields. */
367 diff -urN linux-2.4.18/drivers/net/arlan.c linux/drivers/net/arlan.c
368 --- linux-2.4.18/drivers/net/arlan.c Mon Feb 25 17:10:45 2002
369 +++ linux/drivers/net/arlan.c Mon Feb 25 17:42:30 2002
370 @@ -1299,7 +1299,8 @@
373 arlan = ((struct arlan_private *) dev->priv)->card;
374 - ret = request_irq(dev->irq, &arlan_interrupt, 0, dev->name, dev);
375 + ret = request_irq(dev->irq, &arlan_interrupt, SA_NET_RANDOM,
379 printk(KERN_ERR "%s: unable to get IRQ %d .\n",
380 diff -urN linux-2.4.18/drivers/net/at1700.c linux/drivers/net/at1700.c
381 --- linux-2.4.18/drivers/net/at1700.c Mon Feb 25 17:10:41 2002
382 +++ linux/drivers/net/at1700.c Mon Feb 25 17:42:30 2002
384 lp->jumpered = is_fmv18x;
386 /* Snarf the interrupt vector now. */
387 - ret = request_irq(irq, &net_interrupt, 0, dev->name, dev);
388 + ret = request_irq(irq, &net_interrupt, SA_NET_RANDOM,
391 printk (" AT1700 at %#3x is unusable due to a conflict on"
392 "IRQ %d.\n", ioaddr, irq);
393 diff -urN linux-2.4.18/drivers/net/atarilance.c linux/drivers/net/atarilance.c
394 --- linux-2.4.18/drivers/net/atarilance.c Mon Feb 25 17:10:44 2002
395 +++ linux/drivers/net/atarilance.c Mon Feb 25 17:42:30 2002
397 if (lp->cardtype == PAM_CARD ||
398 memaddr == (unsigned short *)0xffe00000) {
399 /* PAMs card and Riebl on ST use level 5 autovector */
400 - request_irq(IRQ_AUTO_5, lance_interrupt, IRQ_TYPE_PRIO,
401 + request_irq(IRQ_AUTO_5, lance_interrupt,
402 + IRQ_TYPE_PRIO | SA_NET_RANDOM,
403 "PAM/Riebl-ST Ethernet", dev);
404 dev->irq = (unsigned short)IRQ_AUTO_5;
407 printk( "Lance: request for VME interrupt failed\n" );
410 - request_irq(irq, lance_interrupt, IRQ_TYPE_PRIO,
411 + request_irq(irq, lance_interrupt,
412 + IRQ_TYPE_PRIO | SA_NET_RANDOM,
413 "Riebl-VME Ethernet", dev);
416 diff -urN linux-2.4.18/drivers/net/atp.c linux/drivers/net/atp.c
417 --- linux-2.4.18/drivers/net/atp.c Mon Feb 25 17:10:41 2002
418 +++ linux/drivers/net/atp.c Mon Feb 25 17:42:30 2002
420 /* The interrupt line is turned off (tri-stated) when the device isn't in
421 use. That's especially important for "attached" interfaces where the
422 port or interrupt may be shared. */
423 - ret = request_irq(dev->irq, &atp_interrupt, 0, dev->name, dev);
424 + ret = request_irq(dev->irq, &atp_interrupt, SA_NET_RANDOM,
429 diff -urN linux-2.4.18/drivers/net/au1000_eth.c linux/drivers/net/au1000_eth.c
430 --- linux-2.4.18/drivers/net/au1000_eth.c Mon Feb 25 17:10:48 2002
431 +++ linux/drivers/net/au1000_eth.c Mon Feb 25 17:42:30 2002
434 netif_start_queue(dev);
436 - if ((retval = request_irq(dev->irq, &au1000_interrupt, 0, dev->name, dev))) {
437 + if ((retval = request_irq(dev->irq, &au1000_interrupt,
438 + SA_NET_RANDOM, dev->name, dev))) {
439 printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
442 diff -urN linux-2.4.18/drivers/net/bagetlance.c linux/drivers/net/bagetlance.c
443 --- linux-2.4.18/drivers/net/bagetlance.c Mon Feb 25 17:10:46 2002
444 +++ linux/drivers/net/bagetlance.c Mon Feb 25 17:42:30 2002
446 if (lp->cardtype == PAM_CARD ||
447 memaddr == (unsigned short *)0xffe00000) {
448 /* PAMs card and Riebl on ST use level 5 autovector */
449 - request_irq(BAGET_LANCE_IRQ, lance_interrupt, IRQ_TYPE_PRIO,
450 + request_irq(BAGET_LANCE_IRQ, lance_interrupt,
451 + IRQ_TYPE_PRIO | SA_NET_RANDOM,
452 "PAM/Riebl-ST Ethernet", dev);
453 dev->irq = (unsigned short)BAGET_LANCE_IRQ;
455 diff -urN linux-2.4.18/drivers/net/bmac.c linux/drivers/net/bmac.c
456 --- linux-2.4.18/drivers/net/bmac.c Mon Feb 25 17:10:45 2002
457 +++ linux/drivers/net/bmac.c Mon Feb 25 17:42:30 2002
458 @@ -1418,17 +1418,20 @@
459 /* init_timer(&bp->tx_timeout); */
460 /* bp->timeout_active = 0; */
462 - ret = request_irq(dev->irq, bmac_misc_intr, 0, "BMAC-misc", dev);
463 + ret = request_irq(dev->irq, bmac_misc_intr, SA_NET_RANDOM,
466 printk(KERN_ERR "BMAC: can't get irq %d\n", dev->irq);
467 goto err_out_iounmap_rx;
469 - ret = request_irq(bmac->intrs[1].line, bmac_txdma_intr, 0, "BMAC-txdma", dev);
470 + ret = request_irq(bmac->intrs[1].line, bmac_txdma_intr,
471 + SA_NET_RANDOM, "BMAC-txdma", dev);
473 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[1].line);
476 - ret = request_irq(bmac->intrs[2].line, bmac_rxdma_intr, 0, "BMAC-rxdma", dev);
477 + ret = request_irq(bmac->intrs[2].line, bmac_rxdma_intr,
478 + SA_NET_RANDOM, "BMAC-rxdma", dev);
480 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[2].line);
482 diff -urN linux-2.4.18/drivers/net/cs89x0.c linux/drivers/net/cs89x0.c
483 --- linux-2.4.18/drivers/net/cs89x0.c Mon Feb 25 17:10:41 2002
484 +++ linux/drivers/net/cs89x0.c Mon Feb 25 17:42:30 2002
485 @@ -1057,7 +1057,7 @@
487 for (i = 2; i < CS8920_NO_INTS; i++) {
488 if ((1 << dev->irq) & lp->irq_map) {
489 - if (request_irq(i, net_interrupt, 0, dev->name, dev) == 0) {
490 + if (request_irq(i, net_interrupt, SA_NET_RANDOM, dev->name, dev) == 0) {
492 write_irq(dev, lp->chip_type, i);
493 /* writereg(dev, PP_BufCFG, GENERATE_SW_INTERRUPT); */
494 @@ -1086,7 +1086,8 @@
495 writereg(dev, PP_BusCTL, ENABLE_IRQ | MEMORY_ON);
497 write_irq(dev, lp->chip_type, dev->irq);
498 - ret = request_irq(dev->irq, &net_interrupt, 0, dev->name, dev);
499 + ret = request_irq(dev->irq, &net_interrupt,
500 + SA_NET_RANDOM, dev->name, dev);
503 printk(KERN_DEBUG "cs89x0: request_irq(%d) failed\n", dev->irq);
504 diff -urN linux-2.4.18/drivers/net/daynaport.c linux/drivers/net/daynaport.c
505 --- linux-2.4.18/drivers/net/daynaport.c Mon Feb 25 17:10:45 2002
506 +++ linux/drivers/net/daynaport.c Mon Feb 25 17:42:30 2002
508 /* - funaho@jurai.org (1999-05-17) */
510 /* Non-slow interrupt, works around issues with the SONIC driver */
511 - ret = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
512 + ret = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
515 printk ("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
517 diff -urN linux-2.4.18/drivers/net/de4x5.c linux/drivers/net/de4x5.c
518 --- linux-2.4.18/drivers/net/de4x5.c Mon Feb 25 17:10:41 2002
519 +++ linux/drivers/net/de4x5.c Mon Feb 25 17:42:30 2002
520 @@ -1404,11 +1404,12 @@
524 - if (request_irq(dev->irq, (void *)de4x5_interrupt, SA_SHIRQ,
525 - lp->adapter_name, dev)) {
526 + if (request_irq(dev->irq, (void *)de4x5_interrupt,
527 + SA_SHIRQ | SA_NET_RANDOM, lp->adapter_name, dev)) {
528 printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
529 - if (request_irq(dev->irq, de4x5_interrupt, SA_INTERRUPT | SA_SHIRQ,
530 - lp->adapter_name, dev)) {
531 + if (request_irq(dev->irq, de4x5_interrupt,
532 + SA_INTERRUPT | SA_SHIRQ | SA_NET_RANDOM,
533 + lp->adapter_name, dev)) {
534 printk("\n Cannot get IRQ- reconfigure your hardware.\n");
536 de4x5_free_rx_buffs(dev);
537 diff -urN linux-2.4.18/drivers/net/de600.c linux/drivers/net/de600.c
538 --- linux-2.4.18/drivers/net/de600.c Mon Feb 25 17:10:41 2002
539 +++ linux/drivers/net/de600.c Mon Feb 25 17:42:30 2002
542 de600_open(struct net_device *dev)
544 - int ret = request_irq(DE600_IRQ, de600_interrupt, 0, dev->name, dev);
545 + int ret = request_irq(DE600_IRQ, de600_interrupt, SA_NET_RANDOM,
548 printk ("%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
550 diff -urN linux-2.4.18/drivers/net/de620.c linux/drivers/net/de620.c
551 --- linux-2.4.18/drivers/net/de620.c Mon Feb 25 17:10:41 2002
552 +++ linux/drivers/net/de620.c Mon Feb 25 17:42:30 2002
555 static int de620_open(struct net_device *dev)
557 - int ret = request_irq(dev->irq, de620_interrupt, 0, dev->name, dev);
558 + int ret = request_irq(dev->irq, de620_interrupt, SA_NET_RANDOM,
561 printk (KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
563 diff -urN linux-2.4.18/drivers/net/declance.c linux/drivers/net/declance.c
564 --- linux-2.4.18/drivers/net/declance.c Mon Feb 25 17:10:46 2002
565 +++ linux/drivers/net/declance.c Mon Feb 25 17:42:30 2002
567 netif_start_queue(dev);
569 /* Associate IRQ with lance_interrupt */
570 - if (request_irq(dev->irq, &lance_interrupt, 0, lp->name, dev)) {
571 + if (request_irq(dev->irq, &lance_interrupt, SA_NET_RANDOM,
573 printk("Lance: Can't get irq %d\n", dev->irq);
576 diff -urN linux-2.4.18/drivers/net/defxx.c linux/drivers/net/defxx.c
577 --- linux-2.4.18/drivers/net/defxx.c Mon Feb 25 17:10:44 2002
578 +++ linux/drivers/net/defxx.c Mon Feb 25 17:42:30 2002
579 @@ -1218,7 +1218,8 @@
581 /* Register IRQ - support shared interrupts by passing device ptr */
583 - ret = request_irq(dev->irq, (void *)dfx_interrupt, SA_SHIRQ, dev->name, dev);
584 + ret = request_irq(dev->irq, (void *)dfx_interrupt,
585 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
587 printk(KERN_ERR "%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
589 diff -urN linux-2.4.18/drivers/net/depca.c linux/drivers/net/depca.c
590 --- linux-2.4.18/drivers/net/depca.c Mon Feb 25 17:10:41 2002
591 +++ linux/drivers/net/depca.c Mon Feb 25 17:42:30 2002
596 - if (request_irq(dev->irq, &depca_interrupt, 0, lp->adapter_name, dev)) {
597 + if (request_irq(dev->irq, &depca_interrupt, SA_NET_RANDOM,
598 + lp->adapter_name, dev)) {
599 printk("depca_open(): Requested IRQ%d is busy\n",dev->irq);
602 diff -urN linux-2.4.18/drivers/net/dgrs.c linux/drivers/net/dgrs.c
603 --- linux-2.4.18/drivers/net/dgrs.c Mon Feb 25 17:10:41 2002
604 +++ linux/drivers/net/dgrs.c Mon Feb 25 17:42:30 2002
605 @@ -1178,7 +1178,8 @@
608 OUTL(dev->base_addr + PLX_LCL2PCI_DOORBELL, 1);
609 - rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ, "RightSwitch", dev);
610 + rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ | SA_NET_RANDOM,
611 + "RightSwitch", dev);
615 diff -urN linux-2.4.18/drivers/net/dl2k.c linux/drivers/net/dl2k.c
616 --- linux-2.4.18/drivers/net/dl2k.c Mon Feb 25 17:10:45 2002
617 +++ linux/drivers/net/dl2k.c Mon Feb 25 17:42:30 2002
619 long ioaddr = dev->base_addr;
622 - i = request_irq (dev->irq, &rio_interrupt, SA_SHIRQ, dev->name, dev);
623 + i = request_irq (dev->irq, &rio_interrupt,
624 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
627 /* DebugCtrl bit 4, 5, 9 must set */
628 diff -urN linux-2.4.18/drivers/net/dmfe.c linux/drivers/net/dmfe.c
629 --- linux-2.4.18/drivers/net/dmfe.c Mon Feb 25 17:10:45 2002
630 +++ linux/drivers/net/dmfe.c Mon Feb 25 17:42:30 2002
633 DMFE_DBUG(0, "dmfe_open", 0);
635 - ret = request_irq(dev->irq, &dmfe_interrupt, SA_SHIRQ, dev->name, dev);
636 + ret = request_irq(dev->irq, &dmfe_interrupt,
637 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
641 diff -urN linux-2.4.18/drivers/net/e2100.c linux/drivers/net/e2100.c
642 --- linux-2.4.18/drivers/net/e2100.c Mon Feb 25 17:10:41 2002
643 +++ linux/drivers/net/e2100.c Mon Feb 25 17:42:30 2002
645 short ioaddr = dev->base_addr;
648 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev)))
649 + if ((retval = request_irq(dev->irq, ei_interrupt,
650 + SA_NET_RANDOM, dev->name, dev)))
653 /* Set the interrupt line and memory base on the hardware. */
654 diff -urN linux-2.4.18/drivers/net/eepro.c linux/drivers/net/eepro.c
655 --- linux-2.4.18/drivers/net/eepro.c Mon Feb 25 17:10:41 2002
656 +++ linux/drivers/net/eepro.c Mon Feb 25 17:42:30 2002
661 - if (request_irq(dev->irq , &eepro_interrupt, 0, dev->name, dev)) {
662 + if (request_irq(dev->irq , &eepro_interrupt, SA_NET_RANDOM, dev->name, dev)) {
663 printk(KERN_ERR "%s: unable to get IRQ %d.\n", dev->name, dev->irq);
666 diff -urN linux-2.4.18/drivers/net/eepro100.c linux/drivers/net/eepro100.c
667 --- linux-2.4.18/drivers/net/eepro100.c Mon Feb 25 17:10:44 2002
668 +++ linux/drivers/net/eepro100.c Mon Feb 25 17:42:30 2002
670 sp->in_interrupt = 0;
672 /* .. we can safely take handler calls during init. */
673 - retval = request_irq(dev->irq, &speedo_interrupt, SA_SHIRQ, dev->name, dev);
674 + retval = request_irq(dev->irq, &speedo_interrupt,
675 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
679 diff -urN linux-2.4.18/drivers/net/eexpress.c linux/drivers/net/eexpress.c
680 --- linux-2.4.18/drivers/net/eexpress.c Mon Feb 25 17:10:41 2002
681 +++ linux/drivers/net/eexpress.c Mon Feb 25 17:42:30 2002
683 if (!dev->irq || !irqrmap[dev->irq])
686 - ret = request_irq(dev->irq,&eexp_irq,0,dev->name,dev);
687 + ret = request_irq(dev->irq,&eexp_irq,SA_NET_RANDOM,
691 request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress");
692 diff -urN linux-2.4.18/drivers/net/epic100.c linux/drivers/net/epic100.c
693 --- linux-2.4.18/drivers/net/epic100.c Mon Feb 25 17:10:45 2002
694 +++ linux/drivers/net/epic100.c Mon Feb 25 17:42:30 2002
696 /* Soft reset the chip. */
697 outl(0x4001, ioaddr + GENCTL);
699 - if ((retval = request_irq(dev->irq, &epic_interrupt, SA_SHIRQ, dev->name, dev)))
700 + if ((retval = request_irq(dev->irq, &epic_interrupt,
701 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev)))
705 diff -urN linux-2.4.18/drivers/net/es3210.c linux/drivers/net/es3210.c
706 --- linux-2.4.18/drivers/net/es3210.c Mon Feb 25 17:10:44 2002
707 +++ linux/drivers/net/es3210.c Mon Feb 25 17:42:30 2002
709 printk(" assigning IRQ %d", dev->irq);
712 - if (request_irq(dev->irq, ei_interrupt, 0, "es3210", dev)) {
713 + if (request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
715 printk (" unable to get IRQ %d.\n", dev->irq);
718 diff -urN linux-2.4.18/drivers/net/eth16i.c linux/drivers/net/eth16i.c
719 --- linux-2.4.18/drivers/net/eth16i.c Mon Feb 25 17:10:41 2002
720 +++ linux/drivers/net/eth16i.c Mon Feb 25 17:42:30 2002
723 /* Try to obtain interrupt vector */
725 - if ((retval = request_irq(dev->irq, (void *)ð16i_interrupt, 0, dev->name, dev))) {
726 + if ((retval = request_irq(dev->irq, (void *)ð16i_interrupt,
727 + SA_NET_RANDOM, dev->name, dev))) {
728 printk(KERN_WARNING "%s: %s at %#3x, but is unusable due conflicting IRQ %d.\n",
729 dev->name, cardname, ioaddr, dev->irq);
731 diff -urN linux-2.4.18/drivers/net/ewrk3.c linux/drivers/net/ewrk3.c
732 --- linux-2.4.18/drivers/net/ewrk3.c Mon Feb 25 17:10:41 2002
733 +++ linux/drivers/net/ewrk3.c Mon Feb 25 17:42:30 2002
737 if (!lp->hard_strapped) {
738 - if (request_irq(dev->irq, (void *) ewrk3_interrupt, 0, "ewrk3", dev)) {
739 + if (request_irq(dev->irq, (void *) ewrk3_interrupt,
740 + SA_NET_RANDOM, "ewrk3", dev)) {
741 printk("ewrk3_open(): Requested IRQ%d is busy\n", dev->irq);
744 diff -urN linux-2.4.18/drivers/net/fc/iph5526.c linux/drivers/net/fc/iph5526.c
745 --- linux-2.4.18/drivers/net/fc/iph5526.c Mon Feb 25 17:10:46 2002
746 +++ linux/drivers/net/fc/iph5526.c Mon Feb 25 17:42:30 2002
747 @@ -3844,7 +3844,7 @@
749 /* Found it, get IRQ.
751 - irqval = request_irq(pci_irq_line, &tachyon_interrupt, pci_irq_line ? SA_SHIRQ : 0, fi->name, host);
752 + irqval = request_irq(pci_irq_line, &tachyon_interrupt, pci_irq_line ? SA_SHIRQ : 0 | SA_NET_RANDOM, fi->name, host);
754 printk("iph5526.c : Unable to get IRQ %d (irqval = %d).\n", pci_irq_line, irqval);
755 scsi_unregister(host);
756 diff -urN linux-2.4.18/drivers/net/fealnx.c linux/drivers/net/fealnx.c
757 --- linux-2.4.18/drivers/net/fealnx.c Mon Feb 25 17:10:46 2002
758 +++ linux/drivers/net/fealnx.c Mon Feb 25 17:42:30 2002
761 writel(0x00000001, ioaddr + BCR); /* Reset */
763 - if (request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev))
764 + if (request_irq(dev->irq, &intr_handler,
765 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev))
769 diff -urN linux-2.4.18/drivers/net/fmv18x.c linux/drivers/net/fmv18x.c
770 --- linux-2.4.18/drivers/net/fmv18x.c Mon Feb 25 17:10:41 2002
771 +++ linux/drivers/net/fmv18x.c Mon Feb 25 17:42:30 2002
775 /* Snarf the interrupt vector now. */
776 - retval = request_irq(irq, &net_interrupt, 0, dev->name, dev);
777 + retval = request_irq(irq, &net_interrupt, SA_NET_RANDOM,
780 printk ("FMV-18x found at %#3x, but it's unusable due to a conflict on"
781 "IRQ %d.\n", ioaddr, irq);
782 diff -urN linux-2.4.18/drivers/net/gmac.c linux/drivers/net/gmac.c
783 --- linux-2.4.18/drivers/net/gmac.c Mon Feb 25 17:10:45 2002
784 +++ linux/drivers/net/gmac.c Mon Feb 25 17:42:30 2002
785 @@ -1085,7 +1085,8 @@
788 /* Get our interrupt */
789 - ret = request_irq(dev->irq, gmac_interrupt, 0, dev->name, dev);
790 + ret = request_irq(dev->irq, gmac_interrupt,
791 + SA_NET_RANDOM, dev->name, dev);
793 printk(KERN_ERR "%s can't get irq %d\n", dev->name, dev->irq);
795 diff -urN linux-2.4.18/drivers/net/gt96100eth.c linux/drivers/net/gt96100eth.c
796 --- linux-2.4.18/drivers/net/gt96100eth.c Mon Feb 25 17:10:46 2002
797 +++ linux/drivers/net/gt96100eth.c Mon Feb 25 17:42:30 2002
799 printk("%s: gt96100_open: dev=%p\n", dev->name, dev);
801 if ((retval = request_irq(dev->irq, >96100_interrupt,
802 - SA_SHIRQ, dev->name, dev))) {
803 + SA_SHIRQ | SA_NET_RANDOM,
804 + dev->name, dev))) {
805 printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name,
808 diff -urN linux-2.4.18/drivers/net/hamachi.c linux/drivers/net/hamachi.c
809 --- linux-2.4.18/drivers/net/hamachi.c Mon Feb 25 17:10:46 2002
810 +++ linux/drivers/net/hamachi.c Mon Feb 25 17:42:30 2002
812 u32 rx_int_var, tx_int_var;
815 - i = request_irq(dev->irq, &hamachi_interrupt, SA_SHIRQ, dev->name, dev);
816 + i = request_irq(dev->irq, &hamachi_interrupt,
817 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
821 diff -urN linux-2.4.18/drivers/net/hamradio/baycom_ser_fdx.c linux/drivers/net/hamradio/baycom_ser_fdx.c
822 --- linux-2.4.18/drivers/net/hamradio/baycom_ser_fdx.c Mon Feb 25 17:10:42 2002
823 +++ linux/drivers/net/hamradio/baycom_ser_fdx.c Mon Feb 25 17:42:30 2002
825 outb(0, FCR(dev->base_addr)); /* disable FIFOs */
826 outb(0x0d, MCR(dev->base_addr));
827 outb(0, IER(dev->base_addr));
828 - if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ,
829 + if (request_irq(dev->irq, ser12_interrupt,
830 + SA_INTERRUPT | SA_SHIRQ | SA_NET_RANDOM,
831 "baycom_ser_fdx", dev))
833 request_region(dev->base_addr, SER12_EXTENT, "baycom_ser_fdx");
834 diff -urN linux-2.4.18/drivers/net/hamradio/baycom_ser_hdx.c linux/drivers/net/hamradio/baycom_ser_hdx.c
835 --- linux-2.4.18/drivers/net/hamradio/baycom_ser_hdx.c Mon Feb 25 17:10:42 2002
836 +++ linux/drivers/net/hamradio/baycom_ser_hdx.c Mon Feb 25 17:42:30 2002
838 outb(0, FCR(dev->base_addr)); /* disable FIFOs */
839 outb(0x0d, MCR(dev->base_addr));
840 outb(0, IER(dev->base_addr));
841 - if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ,
842 + if (request_irq(dev->irq, ser12_interrupt,
843 + SA_INTERRUPT | SA_SHIRQ | SA_NET_RANDOM,
844 "baycom_ser12", dev))
846 request_region(dev->base_addr, SER12_EXTENT, "baycom_ser12");
847 diff -urN linux-2.4.18/drivers/net/hamradio/dmascc.c linux/drivers/net/hamradio/dmascc.c
848 --- linux-2.4.18/drivers/net/hamradio/dmascc.c Mon Feb 25 17:10:44 2002
849 +++ linux/drivers/net/hamradio/dmascc.c Mon Feb 25 17:42:30 2002
852 /* Request IRQ if not already used by other channel */
853 if (!info->irq_used) {
854 - if (request_irq(dev->irq, scc_isr, 0, "dmascc", info)) {
855 + if (request_irq(dev->irq, scc_isr, SA_NET_RANDOM, "dmascc", info)) {
859 diff -urN linux-2.4.18/drivers/net/hamradio/scc.c linux/drivers/net/hamradio/scc.c
860 --- linux-2.4.18/drivers/net/hamradio/scc.c Mon Feb 25 17:10:44 2002
861 +++ linux/drivers/net/hamradio/scc.c Mon Feb 25 17:42:30 2002
862 @@ -1769,7 +1769,7 @@
864 if (!Ivec[hwcfg.irq].used && hwcfg.irq)
866 - if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT, "AX.25 SCC", NULL))
867 + if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT | SA_NET_RANDOM, "AX.25 SCC", NULL))
868 printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq);
870 Ivec[hwcfg.irq].used = 1;
871 diff -urN linux-2.4.18/drivers/net/hamradio/soundmodem/sm_sbc.c linux/drivers/net/hamradio/soundmodem/sm_sbc.c
872 --- linux-2.4.18/drivers/net/hamradio/soundmodem/sm_sbc.c Mon Feb 25 17:10:44 2002
873 +++ linux/drivers/net/hamradio/soundmodem/sm_sbc.c Mon Feb 25 17:42:30 2002
878 - if (request_irq(dev->irq, sbc_interrupt, SA_INTERRUPT,
879 + if (request_irq(dev->irq, sbc_interrupt,
880 + SA_INTERRUPT | SA_NET_RANDOM,
881 sm->hwdrv->hw_name, dev)) {
888 - if (request_irq(dev->irq, sbcfdx_interrupt, SA_INTERRUPT,
889 + if (request_irq(dev->irq, sbcfdx_interrupt,
890 + SA_INTERRUPT | SA_NET_RANDOM,
891 sm->hwdrv->hw_name, dev)) {
894 diff -urN linux-2.4.18/drivers/net/hamradio/soundmodem/sm_wss.c linux/drivers/net/hamradio/soundmodem/sm_wss.c
895 --- linux-2.4.18/drivers/net/hamradio/soundmodem/sm_wss.c Mon Feb 25 17:10:44 2002
896 +++ linux/drivers/net/hamradio/soundmodem/sm_wss.c Mon Feb 25 17:42:30 2002
901 - if (request_irq(dev->irq, wss_interrupt, SA_INTERRUPT,
902 + if (request_irq(dev->irq, wss_interrupt,
903 + SA_INTERRUPT | SA_NET_RANDOM,
904 sm->hwdrv->hw_name, dev)) {
911 - if (request_irq(dev->irq, wssfdx_interrupt, SA_INTERRUPT,
912 + if (request_irq(dev->irq, wssfdx_interrupt,
913 + SA_INTERRUPT | SA_NET_RANDOM,
914 sm->hwdrv->hw_name, dev)) {
917 diff -urN linux-2.4.18/drivers/net/hamradio/yam.c linux/drivers/net/hamradio/yam.c
918 --- linux-2.4.18/drivers/net/hamradio/yam.c Mon Feb 25 17:10:44 2002
919 +++ linux/drivers/net/hamradio/yam.c Mon Feb 25 17:42:30 2002
923 outb(0, IER(dev->base_addr));
924 - if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ, dev->name, dev)) {
925 + if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ | SA_NET_RANDOM, dev->name, dev)) {
926 printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
929 diff -urN linux-2.4.18/drivers/net/hp-plus.c linux/drivers/net/hp-plus.c
930 --- linux-2.4.18/drivers/net/hp-plus.c Mon Feb 25 17:10:41 2002
931 +++ linux/drivers/net/hp-plus.c Mon Feb 25 17:42:30 2002
936 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
937 + if ((retval = request_irq(dev->irq, ei_interrupt,
938 + SA_NET_RANDOM, dev->name, dev))) {
942 diff -urN linux-2.4.18/drivers/net/hp.c linux/drivers/net/hp.c
943 --- linux-2.4.18/drivers/net/hp.c Mon Feb 25 17:10:41 2002
944 +++ linux/drivers/net/hp.c Mon Feb 25 17:42:30 2002
946 /* Twinkle the interrupt, and check if it's seen. */
947 outb_p(irqmap[irq] | HP_RUN, ioaddr + HP_CONFIGURE);
948 outb_p( 0x00 | HP_RUN, ioaddr + HP_CONFIGURE);
949 - if (irq == probe_irq_off(cookie) /* It's a good IRQ line! */
950 - && request_irq (irq, ei_interrupt, 0, dev->name, dev) == 0) {
951 + if (irq == probe_irq_off(cookie) /* It's a good IRQ line! */ && request_irq (irq, ei_interrupt, SA_NET_RANDOM, dev->name, dev) == 0) {
952 printk(" selecting IRQ %d.\n", irq);
955 diff -urN linux-2.4.18/drivers/net/hp100.c linux/drivers/net/hp100.c
956 --- linux-2.4.18/drivers/net/hp100.c Mon Feb 25 17:10:41 2002
957 +++ linux/drivers/net/hp100.c Mon Feb 25 17:42:31 2002
958 @@ -1124,8 +1124,9 @@
960 /* New: if bus is PCI or EISA, interrupts might be shared interrupts */
961 if (request_irq(dev->irq, hp100_interrupt,
962 - lp->bus == HP100_BUS_PCI || lp->bus ==
963 - HP100_BUS_EISA ? SA_SHIRQ : SA_INTERRUPT,
964 + (lp->bus == HP100_BUS_PCI || lp->bus ==
965 + HP100_BUS_EISA ? SA_SHIRQ : SA_INTERRUPT) |
967 lp->id->name, dev)) {
968 printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq);
970 diff -urN linux-2.4.18/drivers/net/hydra.c linux/drivers/net/hydra.c
971 --- linux-2.4.18/drivers/net/hydra.c Mon Feb 25 17:10:44 2002
972 +++ linux/drivers/net/hydra.c Mon Feb 25 17:42:31 2002
974 dev->irq = IRQ_AMIGA_PORTS;
976 /* Install the Interrupt handler */
977 - if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, "Hydra Ethernet",
979 + if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
980 + SA_SHIRQ | SA_NET_RANDOM, "Hydra Ethernet", dev))
983 /* Allocate dev->priv and fill in 8390 specific dev fields. */
984 diff -urN linux-2.4.18/drivers/net/ibmlana.c linux/drivers/net/ibmlana.c
985 --- linux-2.4.18/drivers/net/ibmlana.c Mon Feb 25 17:10:46 2002
986 +++ linux/drivers/net/ibmlana.c Mon Feb 25 17:42:31 2002
990 request_irq(priv->realirq, irq_handler,
991 - SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
992 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
994 printk("%s: failed to register irq %d\n", dev->name,
996 diff -urN linux-2.4.18/drivers/net/ioc3-eth.c linux/drivers/net/ioc3-eth.c
997 --- linux-2.4.18/drivers/net/ioc3-eth.c Mon Feb 25 17:10:46 2002
998 +++ linux/drivers/net/ioc3-eth.c Mon Feb 25 17:42:31 2002
999 @@ -1313,7 +1313,8 @@
1001 struct ioc3_private *ip = dev->priv;
1003 - if (request_irq(dev->irq, ioc3_interrupt, SA_SHIRQ, ioc3_str, dev)) {
1004 + if (request_irq(dev->irq, ioc3_interrupt,
1005 + SA_SHIRQ | SA_NET_RANDOM, ioc3_str, dev)) {
1006 printk(KERN_ERR "%s: Can't get irq %d\n", dev->name, dev->irq);
1009 diff -urN linux-2.4.18/drivers/net/irda/ali-ircc.c linux/drivers/net/irda/ali-ircc.c
1010 --- linux-2.4.18/drivers/net/irda/ali-ircc.c Mon Feb 25 17:10:45 2002
1011 +++ linux/drivers/net/irda/ali-ircc.c Mon Feb 25 17:42:31 2002
1012 @@ -1357,7 +1357,8 @@
1013 iobase = self->io.fir_base;
1015 /* Request IRQ and install Interrupt Handler */
1016 - if (request_irq(self->io.irq, ali_ircc_interrupt, 0, dev->name, dev))
1017 + if (request_irq(self->io.irq, ali_ircc_interrupt,
1018 + SA_NET_RANDOM, dev->name, dev))
1020 WARNING("%s, unable to allocate irq=%d\n", driver_name,
1022 diff -urN linux-2.4.18/drivers/net/irda/irport.c linux/drivers/net/irda/irport.c
1023 --- linux-2.4.18/drivers/net/irda/irport.c Mon Feb 25 17:10:45 2002
1024 +++ linux/drivers/net/irda/irport.c Mon Feb 25 17:42:31 2002
1027 iobase = self->io.sir_base;
1029 - if (request_irq(self->io.irq, self->interrupt, 0, dev->name,
1031 + if (request_irq(self->io.irq, self->interrupt,
1032 + SA_NET_RANDOM, dev->name, (void *) dev)) {
1033 IRDA_DEBUG(0, __FUNCTION__ "(), unable to allocate irq=%d\n",
1036 diff -urN linux-2.4.18/drivers/net/irda/nsc-ircc.c linux/drivers/net/irda/nsc-ircc.c
1037 --- linux-2.4.18/drivers/net/irda/nsc-ircc.c Mon Feb 25 17:10:45 2002
1038 +++ linux/drivers/net/irda/nsc-ircc.c Mon Feb 25 17:42:31 2002
1039 @@ -1847,7 +1847,8 @@
1041 iobase = self->io.fir_base;
1043 - if (request_irq(self->io.irq, nsc_ircc_interrupt, 0, dev->name, dev)) {
1044 + if (request_irq(self->io.irq, nsc_ircc_interrupt,
1045 + SA_NET_RANDOM, dev->name, dev)) {
1046 WARNING("%s, unable to allocate irq=%d\n", driver_name,
1049 diff -urN linux-2.4.18/drivers/net/irda/sa1100_ir.c linux/drivers/net/irda/sa1100_ir.c
1050 --- linux-2.4.18/drivers/net/irda/sa1100_ir.c Mon Feb 25 17:10:45 2002
1051 +++ linux/drivers/net/irda/sa1100_ir.c Mon Feb 25 17:42:31 2002
1056 - err = request_irq(dev->irq, sa1100_irda_irq, 0, dev->name, dev);
1057 + err = request_irq(dev->irq, sa1100_irda_irq,
1058 + SA_NET_RANDOM, dev->name, dev);
1062 diff -urN linux-2.4.18/drivers/net/irda/toshoboe.c linux/drivers/net/irda/toshoboe.c
1063 --- linux-2.4.18/drivers/net/irda/toshoboe.c Mon Feb 25 17:10:45 2002
1064 +++ linux/drivers/net/irda/toshoboe.c Mon Feb 25 17:42:31 2002
1068 if (request_irq (self->io.irq, toshoboe_interrupt,
1069 - SA_SHIRQ | SA_INTERRUPT, dev->name, (void *) self))
1070 + SA_SHIRQ | SA_INTERRUPT | SA_NET_RANDOM,
1071 + dev->name, (void *) self))
1075 diff -urN linux-2.4.18/drivers/net/irda/vlsi_ir.c linux/drivers/net/irda/vlsi_ir.c
1076 --- linux-2.4.18/drivers/net/irda/vlsi_ir.c Mon Feb 25 17:10:45 2002
1077 +++ linux/drivers/net/irda/vlsi_ir.c Mon Feb 25 17:42:31 2002
1080 outb(IRINTR_INT_MASK, ndev->base_addr+VLSI_PIO_IRINTR);
1082 - if (request_irq(ndev->irq, vlsi_interrupt, SA_SHIRQ,
1083 - drivername, ndev)) {
1084 + if (request_irq(ndev->irq, vlsi_interrupt,
1085 + SA_SHIRQ | SA_NET_RANDOM, drivername, ndev)) {
1086 printk(KERN_ERR "%s: couldn't get IRQ: %d\n",
1087 __FUNCTION__, ndev->irq);
1088 pci_release_regions(pdev);
1089 diff -urN linux-2.4.18/drivers/net/irda/w83977af_ir.c linux/drivers/net/irda/w83977af_ir.c
1090 --- linux-2.4.18/drivers/net/irda/w83977af_ir.c Mon Feb 25 17:10:45 2002
1091 +++ linux/drivers/net/irda/w83977af_ir.c Mon Feb 25 17:42:31 2002
1092 @@ -1221,8 +1221,8 @@
1094 iobase = self->io.fir_base;
1096 - if (request_irq(self->io.irq, w83977af_interrupt, 0, dev->name,
1098 + if (request_irq(self->io.irq, w83977af_interrupt,
1099 + SA_NET_RANDOM, dev->name, (void *) dev)) {
1103 diff -urN linux-2.4.18/drivers/net/isa-skeleton.c linux/drivers/net/isa-skeleton.c
1104 --- linux-2.4.18/drivers/net/isa-skeleton.c Mon Feb 25 17:10:46 2002
1105 +++ linux/drivers/net/isa-skeleton.c Mon Feb 25 17:42:31 2002
1110 - int irqval = request_irq(dev->irq, &net_interrupt, 0, cardname, dev);
1111 + int irqval = request_irq(dev->irq, &net_interrupt,
1112 + SA_NET_RANDOM, cardname, dev);
1114 printk("%s: unable to get IRQ %d (irqval=%d).\n",
1115 dev->name, dev->irq, irqval);
1116 diff -urN linux-2.4.18/drivers/net/lance.c linux/drivers/net/lance.c
1117 --- linux-2.4.18/drivers/net/lance.c Mon Feb 25 17:10:41 2002
1118 +++ linux/drivers/net/lance.c Mon Feb 25 17:42:31 2002
1122 if (dev->irq == 0 ||
1123 - request_irq(dev->irq, &lance_interrupt, 0, lp->name, dev)) {
1124 + request_irq(dev->irq, &lance_interrupt,
1125 + SA_NET_RANDOM, lp->name, dev)) {
1129 diff -urN linux-2.4.18/drivers/net/lasi_82596.c linux/drivers/net/lasi_82596.c
1130 --- linux-2.4.18/drivers/net/lasi_82596.c Mon Feb 25 17:10:46 2002
1131 +++ linux/drivers/net/lasi_82596.c Mon Feb 25 17:42:31 2002
1136 - if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
1137 + if (request_irq(dev->irq, &i596_interrupt, SA_NET_RANDOM,
1139 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1142 diff -urN linux-2.4.18/drivers/net/lne390.c linux/drivers/net/lne390.c
1143 --- linux-2.4.18/drivers/net/lne390.c Mon Feb 25 17:10:45 2002
1144 +++ linux/drivers/net/lne390.c Mon Feb 25 17:42:31 2002
1147 printk(" IRQ %d,", dev->irq);
1149 - if ((ret = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
1150 + if ((ret = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1151 + dev->name, dev))) {
1152 printk (" unable to get IRQ %d.\n", dev->irq);
1155 diff -urN linux-2.4.18/drivers/net/lp486e.c linux/drivers/net/lp486e.c
1156 --- linux-2.4.18/drivers/net/lp486e.c Mon Feb 25 17:10:45 2002
1157 +++ linux/drivers/net/lp486e.c Mon Feb 25 17:42:31 2002
1159 i596_open(struct net_device *dev) {
1162 - i = request_irq(dev->irq, &i596_interrupt, SA_SHIRQ, dev->name, dev);
1163 + i = request_irq(dev->irq, &i596_interrupt,
1164 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1166 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1168 diff -urN linux-2.4.18/drivers/net/mac89x0.c linux/drivers/net/mac89x0.c
1169 --- linux-2.4.18/drivers/net/mac89x0.c Mon Feb 25 17:10:46 2002
1170 +++ linux/drivers/net/mac89x0.c Mon Feb 25 17:42:31 2002
1172 writereg(dev, PP_BusCTL, readreg(dev, PP_BusCTL) & ~ENABLE_IRQ);
1174 /* Grab the interrupt */
1175 - if (request_irq(dev->irq, &net_interrupt, 0, "cs89x0", dev))
1176 + if (request_irq(dev->irq, &net_interrupt, SA_NET_RANDOM,
1180 /* Set up the IRQ - Apparently magic */
1181 diff -urN linux-2.4.18/drivers/net/mace.c linux/drivers/net/mace.c
1182 --- linux-2.4.18/drivers/net/mace.c Mon Feb 25 17:10:45 2002
1183 +++ linux/drivers/net/mace.c Mon Feb 25 17:42:31 2002
1184 @@ -230,13 +230,14 @@
1188 - if (request_irq(dev->irq, mace_interrupt, 0, "MACE", dev))
1189 + if (request_irq(dev->irq, mace_interrupt, SA_NET_RANDOM,
1191 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1192 - if (request_irq(mace->intrs[1].line, mace_txdma_intr, 0, "MACE-txdma",
1194 + if (request_irq(mace->intrs[1].line, mace_txdma_intr,
1195 + SA_NET_RANDOM, "MACE-txdma", dev))
1196 printk(KERN_ERR "MACE: can't get irq %d\n", mace->intrs[1].line);
1197 - if (request_irq(mace->intrs[2].line, mace_rxdma_intr, 0, "MACE-rxdma",
1199 + if (request_irq(mace->intrs[2].line, mace_rxdma_intr,
1200 + SA_NET_RANDOM, "MACE-rxdma", dev))
1201 printk(KERN_ERR "MACE: can't get irq %d\n", mace->intrs[2].line);
1203 mp->next_mace = mace_devs;
1204 diff -urN linux-2.4.18/drivers/net/macmace.c linux/drivers/net/macmace.c
1205 --- linux-2.4.18/drivers/net/macmace.c Mon Feb 25 17:10:46 2002
1206 +++ linux/drivers/net/macmace.c Mon Feb 25 17:42:31 2002
1208 * The interrupt is fixed and comes off the PSC.
1211 - if (request_irq(dev->irq, mace68k_interrupt, 0, "68K MACE", dev))
1212 + if (request_irq(dev->irq, mace68k_interrupt,
1213 + SA_NET_RANDOM, "68K MACE", dev))
1215 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1217 diff -urN linux-2.4.18/drivers/net/myri_sbus.c linux/drivers/net/myri_sbus.c
1218 --- linux-2.4.18/drivers/net/myri_sbus.c Mon Feb 25 17:10:44 2002
1219 +++ linux/drivers/net/myri_sbus.c Mon Feb 25 17:42:31 2002
1220 @@ -1062,7 +1062,8 @@
1221 /* Register interrupt handler now. */
1222 DET(("Requesting MYRIcom IRQ line.\n"));
1223 if (request_irq(dev->irq, &myri_interrupt,
1224 - SA_SHIRQ, "MyriCOM Ethernet", (void *) dev)) {
1225 + SA_SHIRQ | SA_NET_RANDOM, "MyriCOM Ethernet",
1227 printk("MyriCOM: Cannot register interrupt handler.\n");
1230 diff -urN linux-2.4.18/drivers/net/natsemi.c linux/drivers/net/natsemi.c
1231 --- linux-2.4.18/drivers/net/natsemi.c Mon Feb 25 17:10:46 2002
1232 +++ linux/drivers/net/natsemi.c Mon Feb 25 17:42:31 2002
1233 @@ -1046,7 +1046,8 @@
1234 /* Reset the chip, just in case. */
1237 - i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1238 + i = request_irq(dev->irq, &intr_handler,
1239 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1242 if (netif_msg_ifup(np))
1243 diff -urN linux-2.4.18/drivers/net/ne.c linux/drivers/net/ne.c
1244 --- linux-2.4.18/drivers/net/ne.c Mon Feb 25 17:10:41 2002
1245 +++ linux/drivers/net/ne.c Mon Feb 25 17:42:31 2002
1248 /* Snarf the interrupt now. There's no point in waiting since we cannot
1249 share and the board will usually be enabled. */
1250 - ret = request_irq(dev->irq, ei_interrupt, 0, name, dev);
1251 + ret = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1254 printk (" unable to get IRQ %d (errno=%d).\n", dev->irq, ret);
1256 diff -urN linux-2.4.18/drivers/net/ne2.c linux/drivers/net/ne2.c
1257 --- linux-2.4.18/drivers/net/ne2.c Mon Feb 25 17:10:45 2002
1258 +++ linux/drivers/net/ne2.c Mon Feb 25 17:42:31 2002
1261 /* Snarf the interrupt now. There's no point in waiting since we cannot
1262 share and the board will usually be enabled. */
1263 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1264 + retval = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1267 printk (" unable to get IRQ %d (irqval=%d).\n",
1269 diff -urN linux-2.4.18/drivers/net/ne2k-pci.c linux/drivers/net/ne2k-pci.c
1270 --- linux-2.4.18/drivers/net/ne2k-pci.c Mon Feb 25 17:10:45 2002
1271 +++ linux/drivers/net/ne2k-pci.c Mon Feb 25 17:42:31 2002
1274 static int ne2k_pci_open(struct net_device *dev)
1276 - int ret = request_irq(dev->irq, ei_interrupt, SA_SHIRQ, dev->name, dev);
1277 + int ret = request_irq(dev->irq, ei_interrupt,
1278 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1282 diff -urN linux-2.4.18/drivers/net/ne3210.c linux/drivers/net/ne3210.c
1283 --- linux-2.4.18/drivers/net/ne3210.c Mon Feb 25 17:10:45 2002
1284 +++ linux/drivers/net/ne3210.c Mon Feb 25 17:42:31 2002
1287 printk(" IRQ %d,", dev->irq);
1289 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1290 + retval = request_irq(dev->irq, ei_interrupt,
1291 + SA_NET_RANDOM, dev->name, dev);
1293 printk (" unable to get IRQ %d.\n", dev->irq);
1295 diff -urN linux-2.4.18/drivers/net/ni5010.c linux/drivers/net/ni5010.c
1296 --- linux-2.4.18/drivers/net/ni5010.c Mon Feb 25 17:10:45 2002
1297 +++ linux/drivers/net/ni5010.c Mon Feb 25 17:42:31 2002
1300 PRINTK2((KERN_DEBUG "%s: entering ni5010_open()\n", dev->name));
1302 - if (request_irq(dev->irq, &ni5010_interrupt, 0, boardname, dev)) {
1303 + if (request_irq(dev->irq, &ni5010_interrupt, SA_NET_RANDOM,
1304 + boardname, dev)) {
1305 printk(KERN_WARNING "%s: Cannot get irq %#2x\n", dev->name, dev->irq);
1308 diff -urN linux-2.4.18/drivers/net/ni52.c linux/drivers/net/ni52.c
1309 --- linux-2.4.18/drivers/net/ni52.c Mon Feb 25 17:10:41 2002
1310 +++ linux/drivers/net/ni52.c Mon Feb 25 17:42:31 2002
1315 - ret = request_irq(dev->irq, &ni52_interrupt,0,dev->name,dev);
1316 + ret = request_irq(dev->irq, &ni52_interrupt,SA_NET_RANDOM,
1321 diff -urN linux-2.4.18/drivers/net/ni65.c linux/drivers/net/ni65.c
1322 --- linux-2.4.18/drivers/net/ni65.c Mon Feb 25 17:10:41 2002
1323 +++ linux/drivers/net/ni65.c Mon Feb 25 17:42:31 2002
1325 static int ni65_open(struct net_device *dev)
1327 struct priv *p = (struct priv *) dev->priv;
1328 - int irqval = request_irq(dev->irq, &ni65_interrupt,0,
1329 + int irqval = request_irq(dev->irq, &ni65_interrupt,SA_NET_RANDOM,
1330 cards[p->cardno].cardname,dev);
1332 printk ("%s: unable to get IRQ %d (irqval=%d).\n",
1333 diff -urN linux-2.4.18/drivers/net/ns83820.c linux/drivers/net/ns83820.c
1334 --- linux-2.4.18/drivers/net/ns83820.c Mon Feb 25 17:10:48 2002
1335 +++ linux/drivers/net/ns83820.c Mon Feb 25 17:42:31 2002
1336 @@ -1442,8 +1442,8 @@
1337 setup_ee_mem_bitbanger(&dev->ee, (long)dev->base + MEAR, 3, 2, 1, 0,
1340 - err = request_irq(pci_dev->irq, ns83820_irq, SA_SHIRQ,
1341 - dev->net_dev.name, dev);
1342 + err = request_irq(pci_dev->irq, ns83820_irq,
1343 + SA_SHIRQ | SA_NET_RANDOM, dev->net_dev.name, dev);
1345 printk(KERN_INFO "ns83820: unable to register irq %d\n",
1347 diff -urN linux-2.4.18/drivers/net/oaknet.c linux/drivers/net/oaknet.c
1348 --- linux-2.4.18/drivers/net/oaknet.c Mon Feb 25 17:10:45 2002
1349 +++ linux/drivers/net/oaknet.c Mon Feb 25 17:42:31 2002
1351 /* Attempt to get the interrupt line */
1354 - if (request_irq(dev->irq, ei_interrupt, 0, name, dev)) {
1355 + if (request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1357 printk("%s: unable to request interrupt %d.\n",
1358 dev->name, dev->irq);
1360 diff -urN linux-2.4.18/drivers/net/pci-skeleton.c linux/drivers/net/pci-skeleton.c
1361 --- linux-2.4.18/drivers/net/pci-skeleton.c Mon Feb 25 17:10:46 2002
1362 +++ linux/drivers/net/pci-skeleton.c Mon Feb 25 17:42:31 2002
1363 @@ -1086,7 +1086,8 @@
1365 DPRINTK ("ENTER\n");
1367 - retval = request_irq (dev->irq, netdrv_interrupt, SA_SHIRQ, dev->name, dev);
1368 + retval = request_irq (dev->irq, netdrv_interrupt,
1369 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1371 DPRINTK ("EXIT, returning %d\n", retval);
1373 diff -urN linux-2.4.18/drivers/net/pcmcia/axnet_cs.c linux/drivers/net/pcmcia/axnet_cs.c
1374 --- linux-2.4.18/drivers/net/pcmcia/axnet_cs.c Mon Feb 25 17:10:46 2002
1375 +++ linux/drivers/net/pcmcia/axnet_cs.c Mon Feb 25 17:42:31 2002
1380 - request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
1381 + request_irq(dev->irq, ei_irq_wrapper,
1382 + SA_SHIRQ | SA_NET_RANDOM, dev_info, dev);
1384 info->link_status = 0x00;
1385 info->watchdog.function = &ei_watchdog;
1386 diff -urN linux-2.4.18/drivers/net/pcmcia/pcnet_cs.c linux/drivers/net/pcmcia/pcnet_cs.c
1387 --- linux-2.4.18/drivers/net/pcmcia/pcnet_cs.c Mon Feb 25 17:10:46 2002
1388 +++ linux/drivers/net/pcmcia/pcnet_cs.c Mon Feb 25 17:42:31 2002
1389 @@ -1025,7 +1025,7 @@
1393 - request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
1394 + request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ | SA_NET_RANDOM, dev_info, dev);
1396 info->phy_id = info->eth_phy;
1397 info->link_status = 0x00;
1398 diff -urN linux-2.4.18/drivers/net/pcmcia/xircom_cb.c linux/drivers/net/pcmcia/xircom_cb.c
1399 --- linux-2.4.18/drivers/net/pcmcia/xircom_cb.c Mon Feb 25 17:10:46 2002
1400 +++ linux/drivers/net/pcmcia/xircom_cb.c Mon Feb 25 17:42:31 2002
1404 printk(KERN_INFO "Xircom cardbus adaptor found, registering as %s, using irq %i \n",dev->name,dev->irq);
1405 - retval = request_irq(dev->irq, &xircom_interrupt, SA_SHIRQ, dev->name, dev);
1406 + retval = request_irq(dev->irq, &xircom_interrupt,
1407 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1409 printk(KERN_ERR "xircom_cb: Unable to aquire IRQ %i, aborting.\n",dev->irq);
1411 diff -urN linux-2.4.18/drivers/net/pcmcia/xircom_tulip_cb.c linux/drivers/net/pcmcia/xircom_tulip_cb.c
1412 --- linux-2.4.18/drivers/net/pcmcia/xircom_tulip_cb.c Mon Feb 25 17:10:46 2002
1413 +++ linux/drivers/net/pcmcia/xircom_tulip_cb.c Mon Feb 25 17:42:31 2002
1416 struct xircom_private *tp = dev->priv;
1418 - if (request_irq(dev->irq, &xircom_interrupt, SA_SHIRQ, dev->name, dev))
1419 + if (request_irq(dev->irq, &xircom_interrupt,
1420 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev))
1423 xircom_init_ring(dev);
1424 diff -urN linux-2.4.18/drivers/net/pcnet32.c linux/drivers/net/pcnet32.c
1425 --- linux-2.4.18/drivers/net/pcnet32.c Mon Feb 25 17:10:45 2002
1426 +++ linux/drivers/net/pcnet32.c Mon Feb 25 17:42:31 2002
1429 if (dev->irq == 0 ||
1430 request_irq(dev->irq, &pcnet32_interrupt,
1431 - lp->shared_irq ? SA_SHIRQ : 0, lp->name, (void *)dev)) {
1432 + lp->shared_irq ? SA_SHIRQ : 0 | SA_NET_RANDOM,
1433 + lp->name, (void *)dev)) {
1437 diff -urN linux-2.4.18/drivers/net/rcpci45.c linux/drivers/net/rcpci45.c
1438 --- linux-2.4.18/drivers/net/rcpci45.c Mon Feb 25 17:10:45 2002
1439 +++ linux/drivers/net/rcpci45.c Mon Feb 25 17:42:31 2002
1443 /* Request a shared interrupt line. */
1444 - error = request_irq (dev->irq, RCinterrupt, SA_SHIRQ, dev->name, dev);
1445 + error = request_irq (dev->irq, RCinterrupt,
1446 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1448 printk (KERN_ERR "%s: unable to get IRQ %d\n",
1449 dev->name, dev->irq);
1450 diff -urN linux-2.4.18/drivers/net/rrunner.c linux/drivers/net/rrunner.c
1451 --- linux-2.4.18/drivers/net/rrunner.c Mon Feb 25 17:10:45 2002
1452 +++ linux/drivers/net/rrunner.c Mon Feb 25 17:42:31 2002
1453 @@ -1227,7 +1227,8 @@
1454 writel(readl(®s->HostCtrl)|HALT_NIC|RR_CLEAR_INT, ®s->HostCtrl);
1455 spin_unlock_irqrestore(&rrpriv->lock, flags);
1457 - if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ, rrpriv->name, dev))
1458 + if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ | SA_NET_RANDOM,
1459 + rrpriv->name, dev))
1461 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
1462 dev->name, dev->irq);
1463 diff -urN linux-2.4.18/drivers/net/saa9730.c linux/drivers/net/saa9730.c
1464 --- linux-2.4.18/drivers/net/saa9730.c Mon Feb 25 17:10:46 2002
1465 +++ linux/drivers/net/saa9730.c Mon Feb 25 17:42:31 2002
1467 (struct lan_saa9730_private *) dev->priv;
1469 /* Associate IRQ with lan_saa9730_interrupt */
1470 - if (request_irq(dev->irq, &lan_saa9730_interrupt, 0, "SAA9730 Eth",
1472 + if (request_irq(dev->irq, &lan_saa9730_interrupt, SA_NET_RANDOM,
1473 + "SAA9730 Eth", dev)) {
1474 printk("lan_saa9730_open: Can't get irq %d\n", dev->irq);
1477 diff -urN linux-2.4.18/drivers/net/sb1000.c linux/drivers/net/sb1000.c
1478 --- linux-2.4.18/drivers/net/sb1000.c Mon Feb 25 17:10:45 2002
1479 +++ linux/drivers/net/sb1000.c Mon Feb 25 17:42:31 2002
1481 lp->rx_frame_id[1] = 0;
1482 lp->rx_frame_id[2] = 0;
1483 lp->rx_frame_id[3] = 0;
1484 - if (request_irq(dev->irq, &sb1000_interrupt, 0, "sb1000", dev)) {
1485 + if (request_irq(dev->irq, &sb1000_interrupt, SA_NET_RANDOM,
1490 diff -urN linux-2.4.18/drivers/net/seeq8005.c linux/drivers/net/seeq8005.c
1491 --- linux-2.4.18/drivers/net/seeq8005.c Mon Feb 25 17:10:41 2002
1492 +++ linux/drivers/net/seeq8005.c Mon Feb 25 17:42:31 2002
1494 struct net_local *lp = (struct net_local *)dev->priv;
1497 - int irqval = request_irq(dev->irq, &seeq8005_interrupt, 0, "seeq8005", dev);
1498 + int irqval = request_irq(dev->irq, &seeq8005_interrupt, SA_NET_RANDOM, "seeq8005", dev);
1500 printk ("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1502 diff -urN linux-2.4.18/drivers/net/sgiseeq.c linux/drivers/net/sgiseeq.c
1503 --- linux-2.4.18/drivers/net/sgiseeq.c Mon Feb 25 17:10:45 2002
1504 +++ linux/drivers/net/sgiseeq.c Mon Feb 25 17:42:31 2002
1508 save_flags(flags); cli();
1509 - if (request_irq(dev->irq, sgiseeq_interrupt, 0, sgiseeqstr, (void *) dev)) {
1510 + if (request_irq(dev->irq, sgiseeq_interrupt, SA_NET_RANDOM,
1511 + sgiseeqstr, (void *) dev)) {
1512 printk("Seeq8003: Can't get irq %d\n", dev->irq);
1513 restore_flags(flags);
1515 diff -urN linux-2.4.18/drivers/net/sis900.c linux/drivers/net/sis900.c
1516 --- linux-2.4.18/drivers/net/sis900.c Mon Feb 25 17:10:45 2002
1517 +++ linux/drivers/net/sis900.c Mon Feb 25 17:42:31 2002
1519 pci_read_config_byte(sis_priv->pci_dev, PCI_CLASS_REVISION, &revision);
1520 sis630_set_eq(net_dev, revision);
1522 - ret = request_irq(net_dev->irq, &sis900_interrupt, SA_SHIRQ, net_dev->name, net_dev);
1523 + ret = request_irq(net_dev->irq, &sis900_interrupt,
1524 + SA_SHIRQ | SA_NET_RANDOM,
1525 + net_dev->name, net_dev);
1529 diff -urN linux-2.4.18/drivers/net/sk98lin/skge.c linux/drivers/net/sk98lin/skge.c
1530 --- linux-2.4.18/drivers/net/sk98lin/skge.c Mon Feb 25 17:10:46 2002
1531 +++ linux/drivers/net/sk98lin/skge.c Mon Feb 25 17:42:31 2002
1532 @@ -867,10 +867,11 @@
1533 spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);
1535 if (pAC->GIni.GIMacsFound == 2) {
1536 - Ret = request_irq(dev->irq, SkGeIsr, SA_SHIRQ, pAC->Name, dev);
1537 + Ret = request_irq(dev->irq, SkGeIsr,
1538 + SA_SHIRQ | SA_NET_RANDOM, pAC->Name, dev);
1539 } else if (pAC->GIni.GIMacsFound == 1) {
1540 - Ret = request_irq(dev->irq, SkGeIsrOnePort, SA_SHIRQ,
1542 + Ret = request_irq(dev->irq, SkGeIsrOnePort,
1543 + SA_SHIRQ | SA_NET_RANDOM, pAC->Name, dev);
1545 printk(KERN_WARNING "%s: illegal number of ports: %d\n",
1546 dev->name, pAC->GIni.GIMacsFound);
1547 diff -urN linux-2.4.18/drivers/net/sk_g16.c linux/drivers/net/sk_g16.c
1548 --- linux-2.4.18/drivers/net/sk_g16.c Mon Feb 25 17:10:41 2002
1549 +++ linux/drivers/net/sk_g16.c Mon Feb 25 17:42:31 2002
1554 - irqval = request_irq(irqtab[i], &SK_interrupt, 0, "sk_g16", dev);
1555 + irqval = request_irq(irqtab[i], &SK_interrupt, SA_NET_RANDOM,
1558 } while (irqval && irqtab[i]);
1562 else if (dev->irq == 2) /* IRQ2 is always IRQ9 */
1564 - if (request_irq(9, &SK_interrupt, 0, "sk_g16", dev))
1565 + if (request_irq(9, &SK_interrupt, SA_NET_RANDOM, "sk_g16", dev))
1567 printk("%s: unable to get IRQ 9\n", dev->name);
1569 diff -urN linux-2.4.18/drivers/net/sk_mca.c linux/drivers/net/sk_mca.c
1570 --- linux-2.4.18/drivers/net/sk_mca.c Mon Feb 25 17:10:41 2002
1571 +++ linux/drivers/net/sk_mca.c Mon Feb 25 17:42:31 2002
1573 /* register resources - only necessary for IRQ */
1575 request_irq(priv->realirq, irq_handler,
1576 - SA_SHIRQ | SA_SAMPLE_RANDOM, "sk_mca", dev);
1577 + SA_SHIRQ | SA_NET_RANDOM, "sk_mca", dev);
1579 printk("%s: failed to register irq %d\n", dev->name,
1581 diff -urN linux-2.4.18/drivers/net/skfp/skfddi.c linux/drivers/net/skfp/skfddi.c
1582 --- linux-2.4.18/drivers/net/skfp/skfddi.c Mon Feb 25 17:10:45 2002
1583 +++ linux/drivers/net/skfp/skfddi.c Mon Feb 25 17:42:31 2002
1586 PRINTK(KERN_INFO "entering skfp_open\n");
1587 /* Register IRQ - support shared interrupts by passing device ptr */
1588 - if (request_irq(dev->irq, (void *) skfp_interrupt, SA_SHIRQ,
1589 - dev->name, dev)) {
1590 + if (request_irq(dev->irq, (void *) skfp_interrupt,
1591 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev)) {
1592 printk("%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
1595 diff -urN linux-2.4.18/drivers/net/smc-mca.c linux/drivers/net/smc-mca.c
1596 --- linux-2.4.18/drivers/net/smc-mca.c Mon Feb 25 17:10:44 2002
1597 +++ linux/drivers/net/smc-mca.c Mon Feb 25 17:42:31 2002
1599 int ioaddr = dev->base_addr - ULTRA_NIC_OFFSET; /* ASIC addr */
1602 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev)))
1603 + if ((retval = request_irq(dev->irq, ei_interrupt,
1604 + SA_NET_RANDOM, dev->name, dev)))
1607 outb(ULTRA_MEMENB, ioaddr); /* Enable memory */
1608 diff -urN linux-2.4.18/drivers/net/smc-ultra.c linux/drivers/net/smc-ultra.c
1609 --- linux-2.4.18/drivers/net/smc-ultra.c Mon Feb 25 17:10:41 2002
1610 +++ linux/drivers/net/smc-ultra.c Mon Feb 25 17:42:31 2002
1612 unsigned char irq2reg[] = {0, 0, 0x04, 0x08, 0, 0x0C, 0, 0x40,
1613 0, 0x04, 0x44, 0x48, 0, 0, 0, 0x4C, };
1615 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1616 + retval = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1621 diff -urN linux-2.4.18/drivers/net/smc-ultra32.c linux/drivers/net/smc-ultra32.c
1622 --- linux-2.4.18/drivers/net/smc-ultra32.c Mon Feb 25 17:10:45 2002
1623 +++ linux/drivers/net/smc-ultra32.c Mon Feb 25 17:42:31 2002
1625 int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ;
1628 + irq_flags |= SA_NET_RANDOM;
1630 retval = request_irq(dev->irq, ei_interrupt, irq_flags, dev->name, dev);
1633 diff -urN linux-2.4.18/drivers/net/smc9194.c linux/drivers/net/smc9194.c
1634 --- linux-2.4.18/drivers/net/smc9194.c Mon Feb 25 17:10:42 2002
1635 +++ linux/drivers/net/smc9194.c Mon Feb 25 17:42:31 2002
1636 @@ -1017,7 +1017,7 @@
1640 - retval = request_irq(dev->irq, &smc_interrupt, 0, dev->name, dev);
1641 + retval = request_irq(dev->irq, &smc_interrupt, SA_NET_RANDOM, dev->name, dev);
1643 printk("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1645 diff -urN linux-2.4.18/drivers/net/sonic.c linux/drivers/net/sonic.c
1646 --- linux-2.4.18/drivers/net/sonic.c Mon Feb 25 17:10:45 2002
1647 +++ linux/drivers/net/sonic.c Mon Feb 25 17:42:31 2002
1649 * this glue works ok under all situations.
1651 // if (sonic_request_irq(dev->irq, &sonic_interrupt, 0, "sonic", dev)) {
1652 - if (sonic_request_irq(dev->irq, &sonic_interrupt, SA_INTERRUPT,
1654 + if (sonic_request_irq(dev->irq, &sonic_interrupt,
1655 + SA_INTERRUPT | SA_NET_RANDOM, "sonic", dev)) {
1656 printk("\n%s: unable to get IRQ %d .\n", dev->name, dev->irq);
1659 diff -urN linux-2.4.18/drivers/net/starfire.c linux/drivers/net/starfire.c
1660 --- linux-2.4.18/drivers/net/starfire.c Mon Feb 25 17:10:44 2002
1661 +++ linux/drivers/net/starfire.c Mon Feb 25 17:42:31 2002
1664 COMPAT_MOD_INC_USE_COUNT;
1666 - retval = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1667 + retval = request_irq(dev->irq, &intr_handler,
1668 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1670 COMPAT_MOD_DEC_USE_COUNT;
1672 diff -urN linux-2.4.18/drivers/net/stnic.c linux/drivers/net/stnic.c
1673 --- linux-2.4.18/drivers/net/stnic.c Mon Feb 25 17:10:45 2002
1674 +++ linux/drivers/net/stnic.c Mon Feb 25 17:42:31 2002
1677 /* Snarf the interrupt now. There's no point in waiting since we cannot
1678 share and the board will usually be enabled. */
1679 - i = request_irq (dev->irq, ei_interrupt, 0, dev->name, dev);
1680 + i = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM, dev->name, dev);
1682 printk (KERN_EMERG " unable to get IRQ %d.\n", dev->irq);
1683 unregister_netdev(dev);
1684 diff -urN linux-2.4.18/drivers/net/sun3lance.c linux/drivers/net/sun3lance.c
1685 --- linux-2.4.18/drivers/net/sun3lance.c Mon Feb 25 17:10:46 2002
1686 +++ linux/drivers/net/sun3lance.c Mon Feb 25 17:42:31 2002
1689 REGA(CSR0) = CSR0_STOP;
1691 - request_irq(LANCE_IRQ, lance_interrupt, 0, "SUN3 Lance", dev);
1692 + request_irq(LANCE_IRQ, lance_interrupt, SA_NET_RANDOM,
1693 + "SUN3 Lance", dev);
1694 dev->irq = (unsigned short)LANCE_IRQ;
1697 diff -urN linux-2.4.18/drivers/net/sunbmac.c linux/drivers/net/sunbmac.c
1698 --- linux-2.4.18/drivers/net/sunbmac.c Mon Feb 25 17:10:45 2002
1699 +++ linux/drivers/net/sunbmac.c Mon Feb 25 17:42:31 2002
1701 struct bigmac *bp = (struct bigmac *) dev->priv;
1704 - ret = request_irq(dev->irq, &bigmac_interrupt, SA_SHIRQ, dev->name, bp);
1705 + ret = request_irq(dev->irq, &bigmac_interrupt,
1706 + SA_SHIRQ | SA_NET_RANDOM, dev->name, bp);
1708 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq);
1710 diff -urN linux-2.4.18/drivers/net/sundance.c linux/drivers/net/sundance.c
1711 --- linux-2.4.18/drivers/net/sundance.c Mon Feb 25 17:10:46 2002
1712 +++ linux/drivers/net/sundance.c Mon Feb 25 17:42:31 2002
1715 /* Do we need to reset the chip??? */
1717 - i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1718 + i = request_irq(dev->irq, &intr_handler,
1719 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1723 diff -urN linux-2.4.18/drivers/net/sungem.c linux/drivers/net/sungem.c
1724 --- linux-2.4.18/drivers/net/sungem.c Mon Feb 25 17:10:45 2002
1725 +++ linux/drivers/net/sungem.c Mon Feb 25 17:42:31 2002
1726 @@ -2185,7 +2185,7 @@
1729 if (request_irq(gp->pdev->irq, gem_interrupt,
1730 - SA_SHIRQ, dev->name, (void *)dev)) {
1731 + SA_SHIRQ | SA_NET_RANDOM, dev->name, (void *)dev)) {
1732 printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name);
1733 #ifdef CONFIG_ALL_PPC
1734 if (!hw_was_up && gp->pdev->vendor == PCI_VENDOR_ID_APPLE)
1735 diff -urN linux-2.4.18/drivers/net/sunhme.c linux/drivers/net/sunhme.c
1736 --- linux-2.4.18/drivers/net/sunhme.c Mon Feb 25 17:10:42 2002
1737 +++ linux/drivers/net/sunhme.c Mon Feb 25 17:42:31 2002
1738 @@ -2219,7 +2219,8 @@
1740 if ((hp->happy_flags & (HFLAG_QUATTRO|HFLAG_PCI)) != HFLAG_QUATTRO) {
1741 if (request_irq(dev->irq, &happy_meal_interrupt,
1742 - SA_SHIRQ, "HAPPY MEAL", (void *)dev)) {
1743 + SA_SHIRQ | SA_NET_RANDOM,
1744 + "HAPPY MEAL", (void *)dev)) {
1747 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %s to go.\n",
1748 diff -urN linux-2.4.18/drivers/net/sunlance.c linux/drivers/net/sunlance.c
1749 --- linux-2.4.18/drivers/net/sunlance.c Mon Feb 25 17:10:42 2002
1750 +++ linux/drivers/net/sunlance.c Mon Feb 25 17:42:31 2002
1755 - if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ,
1756 + if (request_irq(dev->irq, &lance_interrupt,
1757 + SA_SHIRQ | SA_NET_RANDOM,
1758 lancestr, (void *) dev)) {
1759 printk(KERN_ERR "Lance: Can't get irq %s\n", __irq_itoa(dev->irq));
1761 diff -urN linux-2.4.18/drivers/net/sunqe.c linux/drivers/net/sunqe.c
1762 --- linux-2.4.18/drivers/net/sunqe.c Mon Feb 25 17:10:44 2002
1763 +++ linux/drivers/net/sunqe.c Mon Feb 25 17:42:31 2002
1767 if (request_irq(sdev->irqs[0], &qec_interrupt,
1768 - SA_SHIRQ, "QuadEther", (void *) qecp)) {
1769 + SA_SHIRQ | SA_NET_RANDOM,
1770 + "QuadEther", (void *) qecp)) {
1771 printk(KERN_ERR "QuadEther: Can't register QEC master irq handler.\n");
1774 diff -urN linux-2.4.18/drivers/net/tlan.c linux/drivers/net/tlan.c
1775 --- linux-2.4.18/drivers/net/tlan.c Mon Feb 25 17:10:41 2002
1776 +++ linux/drivers/net/tlan.c Mon Feb 25 17:42:31 2002
1780 priv->tlanRev = TLan_DioRead8( dev->base_addr, TLAN_DEF_REVISION );
1781 - err = request_irq( dev->irq, TLan_HandleInterrupt, SA_SHIRQ, TLanSignature, dev );
1782 + err = request_irq( dev->irq, TLan_HandleInterrupt,
1783 + SA_SHIRQ | SA_NET_RANDOM, TLanSignature, dev );
1786 printk(KERN_ERR "TLAN: Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq );
1787 diff -urN linux-2.4.18/drivers/net/tokenring/abyss.c linux/drivers/net/tokenring/abyss.c
1788 --- linux-2.4.18/drivers/net/tokenring/abyss.c Mon Feb 25 17:10:41 2002
1789 +++ linux/drivers/net/tokenring/abyss.c Mon Feb 25 17:42:31 2002
1794 - ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1796 + ret = request_irq(pdev->irq, tms380tr_interrupt,
1797 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1799 goto err_out_region;
1801 diff -urN linux-2.4.18/drivers/net/tokenring/ibmtr.c linux/drivers/net/tokenring/ibmtr.c
1802 --- linux-2.4.18/drivers/net/tokenring/ibmtr.c Mon Feb 25 17:10:41 2002
1803 +++ linux/drivers/net/tokenring/ibmtr.c Mon Feb 25 17:42:31 2002
1806 /* The PCMCIA has already got the interrupt line and the io port,
1807 so no chance of anybody else getting it - MLP */
1808 - if (request_irq(dev->irq = irq, &tok_interrupt, 0, "ibmtr", dev) != 0) {
1809 + if (request_irq(dev->irq = irq, &tok_interrupt,
1810 + SA_NET_RANDOM, "ibmtr", dev) != 0) {
1811 DPRINTK("Could not grab irq %d. Halting Token Ring driver.\n",
1814 diff -urN linux-2.4.18/drivers/net/tokenring/lanstreamer.c linux/drivers/net/tokenring/lanstreamer.c
1815 --- linux-2.4.18/drivers/net/tokenring/lanstreamer.c Mon Feb 25 17:10:42 2002
1816 +++ linux/drivers/net/tokenring/lanstreamer.c Mon Feb 25 17:42:31 2002
1818 rc=streamer_reset(dev);
1821 - if (request_irq(dev->irq, &streamer_interrupt, SA_SHIRQ, "lanstreamer", dev)) {
1822 + if (request_irq(dev->irq, &streamer_interrupt,
1823 + SA_SHIRQ | SA_NET_RANDOM, "lanstreamer", dev)) {
1827 diff -urN linux-2.4.18/drivers/net/tokenring/madgemc.c linux/drivers/net/tokenring/madgemc.c
1828 --- linux-2.4.18/drivers/net/tokenring/madgemc.c Mon Feb 25 17:10:42 2002
1829 +++ linux/drivers/net/tokenring/madgemc.c Mon Feb 25 17:42:31 2002
1832 outb(0, dev->base_addr + MC_CONTROL_REG0); /* sanity */
1833 madgemc_setsifsel(dev, 1);
1834 - if(request_irq(dev->irq, madgemc_interrupt, SA_SHIRQ,
1836 + if(request_irq(dev->irq, madgemc_interrupt,
1837 + SA_SHIRQ | SA_NET_RANDOM,
1841 madgemc_chipset_init(dev); /* enables interrupts! */
1842 diff -urN linux-2.4.18/drivers/net/tokenring/olympic.c linux/drivers/net/tokenring/olympic.c
1843 --- linux-2.4.18/drivers/net/tokenring/olympic.c Mon Feb 25 17:10:41 2002
1844 +++ linux/drivers/net/tokenring/olympic.c Mon Feb 25 17:42:31 2002
1846 char open_error[255] ;
1847 int i, open_finished = 1 ;
1849 - if(request_irq(dev->irq, &olympic_interrupt, SA_SHIRQ , "olympic", dev)) {
1850 + if(request_irq(dev->irq, &olympic_interrupt,
1851 + SA_SHIRQ | SA_NET_RANDOM, "olympic", dev)) {
1855 diff -urN linux-2.4.18/drivers/net/tokenring/smctr.c linux/drivers/net/tokenring/smctr.c
1856 --- linux-2.4.18/drivers/net/tokenring/smctr.c Mon Feb 25 17:10:41 2002
1857 +++ linux/drivers/net/tokenring/smctr.c Mon Feb 25 17:42:31 2002
1862 - if(request_irq(dev->irq, smctr_interrupt, SA_SHIRQ, smctr_name, dev))
1863 + if(request_irq(dev->irq, smctr_interrupt,
1864 + SA_SHIRQ | SA_NET_RANDOM, smctr_name, dev))
1868 diff -urN linux-2.4.18/drivers/net/tokenring/tmsisa.c linux/drivers/net/tokenring/tmsisa.c
1869 --- linux-2.4.18/drivers/net/tokenring/tmsisa.c Mon Feb 25 17:10:42 2002
1870 +++ linux/drivers/net/tokenring/tmsisa.c Mon Feb 25 17:42:31 2002
1872 for(j = 0; irqlist[j] != 0; j++)
1874 dev->irq = irqlist[j];
1875 - if (!request_irq(dev->irq, tms380tr_interrupt, 0,
1876 - isa_cardname, dev))
1877 + if (!request_irq(dev->irq, tms380tr_interrupt,
1878 + SA_NET_RANDOM, isa_cardname, dev))
1882 diff -urN linux-2.4.18/drivers/net/tokenring/tmspci.c linux/drivers/net/tokenring/tmspci.c
1883 --- linux-2.4.18/drivers/net/tokenring/tmspci.c Mon Feb 25 17:10:42 2002
1884 +++ linux/drivers/net/tokenring/tmspci.c Mon Feb 25 17:42:31 2002
1889 - ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1891 + ret = request_irq(pdev->irq, tms380tr_interrupt,
1892 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1894 goto err_out_region;
1896 diff -urN linux-2.4.18/drivers/net/tulip/tulip_core.c linux/drivers/net/tulip/tulip_core.c
1897 --- linux-2.4.18/drivers/net/tulip/tulip_core.c Mon Feb 25 17:10:46 2002
1898 +++ linux/drivers/net/tulip/tulip_core.c Mon Feb 25 17:42:31 2002
1903 - if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) {
1904 + if ((retval = request_irq(dev->irq, &tulip_interrupt,
1905 + SA_SHIRQ | SA_NET_RANDOM,
1906 + dev->name, dev))) {
1910 diff -urN linux-2.4.18/drivers/net/via-rhine.c linux/drivers/net/via-rhine.c
1911 --- linux-2.4.18/drivers/net/via-rhine.c Mon Feb 25 17:10:45 2002
1912 +++ linux/drivers/net/via-rhine.c Mon Feb 25 17:42:31 2002
1913 @@ -1056,7 +1056,8 @@
1914 /* Reset the chip. */
1915 writew(CmdReset, ioaddr + ChipCmd);
1917 - i = request_irq(np->pdev->irq, &via_rhine_interrupt, SA_SHIRQ, dev->name, dev);
1918 + i = request_irq(np->pdev->irq, &via_rhine_interrupt,
1919 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1923 diff -urN linux-2.4.18/drivers/net/wan/c101.c linux/drivers/net/wan/c101.c
1924 --- linux-2.4.18/drivers/net/wan/c101.c Mon Feb 25 17:10:41 2002
1925 +++ linux/drivers/net/wan/c101.c Mon Feb 25 17:42:31 2002
1928 memset(card, 0, sizeof(card_t));
1930 - if (request_irq(irq, sca_intr, 0, devname, card)) {
1931 + if (request_irq(irq, sca_intr, SA_NET_RANDOM, devname, card)) {
1932 printk(KERN_ERR "c101: could not allocate IRQ\n");
1933 c101_destroy_card(card);
1935 diff -urN linux-2.4.18/drivers/net/wan/comx-hw-comx.c linux/drivers/net/wan/comx-hw-comx.c
1936 --- linux-2.4.18/drivers/net/wan/comx-hw-comx.c Mon Feb 25 17:10:41 2002
1937 +++ linux/drivers/net/wan/comx-hw-comx.c Mon Feb 25 17:42:32 2002
1939 if (check_region(dev->base_addr, hw->io_extent)) {
1942 - if (request_irq(dev->irq, COMX_interrupt, 0, dev->name,
1944 + if (request_irq(dev->irq, COMX_interrupt, SA_NET_RANDOM,
1945 + dev->name, (void *)dev)) {
1946 printk(KERN_ERR "comx-hw-comx: unable to obtain irq %d\n", dev->irq);
1949 diff -urN linux-2.4.18/drivers/net/wan/comx-hw-locomx.c linux/drivers/net/wan/comx-hw-locomx.c
1950 --- linux-2.4.18/drivers/net/wan/comx-hw-locomx.c Mon Feb 25 17:10:41 2002
1951 +++ linux/drivers/net/wan/comx-hw-locomx.c Mon Feb 25 17:42:32 2002
1953 hw->board.chanA.irqs=&z8530_nop;
1954 hw->board.chanB.irqs=&z8530_nop;
1956 - if(request_irq(dev->irq, z8530_interrupt, SA_INTERRUPT,
1957 - dev->name, &hw->board)) {
1958 + if(request_irq(dev->irq, z8530_interrupt,
1959 + SA_INTERRUPT | SA_NET_RANDOM, dev->name, &hw->board)) {
1960 printk(KERN_ERR "%s: unable to obtain irq %d\n", dev->name,
1963 diff -urN linux-2.4.18/drivers/net/wan/comx-hw-mixcom.c linux/drivers/net/wan/comx-hw-mixcom.c
1964 --- linux-2.4.18/drivers/net/wan/comx-hw-mixcom.c Mon Feb 25 17:10:41 2002
1965 +++ linux/drivers/net/wan/comx-hw-mixcom.c Mon Feb 25 17:42:32 2002
1969 if(hw->channel==0 && !(ch->init_status & IRQ_ALLOCATED)) {
1970 - if (request_irq(dev->irq, MIXCOM_interrupt, 0,
1971 - dev->name, (void *)dev)) {
1972 + if (request_irq(dev->irq, MIXCOM_interrupt,
1973 + SA_NET_RANDOM, dev->name, (void *)dev)) {
1974 printk(KERN_ERR "MIXCOM: unable to obtain irq %d\n", dev->irq);
1976 goto err_release_region;
1977 diff -urN linux-2.4.18/drivers/net/wan/cosa.c linux/drivers/net/wan/cosa.c
1978 --- linux-2.4.18/drivers/net/wan/cosa.c Mon Feb 25 17:10:41 2002
1979 +++ linux/drivers/net/wan/cosa.c Mon Feb 25 17:42:32 2002
1981 cosa->nchannels = 2; /* FIXME: how to determine this? */
1983 request_region(base, is_8bit(cosa)?2:4, cosa->type);
1984 - if (request_irq(cosa->irq, cosa_interrupt, 0, cosa->type, cosa))
1985 + if (request_irq(cosa->irq, cosa_interrupt, SA_NET_RANDOM,
1986 + cosa->type, cosa))
1988 if (request_dma(cosa->dma, cosa->type)) {
1989 free_irq(cosa->irq, cosa);
1990 diff -urN linux-2.4.18/drivers/net/wan/cycx_main.c linux/drivers/net/wan/cycx_main.c
1991 --- linux-2.4.18/drivers/net/wan/cycx_main.c Mon Feb 25 17:10:41 2002
1992 +++ linux/drivers/net/wan/cycx_main.c Mon Feb 25 17:42:32 2002
1995 irq = conf->irq == 2 ? 9 : conf->irq; /* IRQ2 -> IRQ9 */
1997 - if (request_irq(irq, cycx_isr, 0, wandev->name, card)) {
1998 + if (request_irq(irq, cycx_isr, SA_NET_RANDOM,
1999 + wandev->name, card)) {
2000 printk(KERN_ERR "%s: can't reserve IRQ %d!\n",
2003 diff -urN linux-2.4.18/drivers/net/wan/dscc4.c linux/drivers/net/wan/dscc4.c
2004 --- linux-2.4.18/drivers/net/wan/dscc4.c Mon Feb 25 17:10:41 2002
2005 +++ linux/drivers/net/wan/dscc4.c Mon Feb 25 17:42:32 2002
2008 priv = (struct dscc4_pci_priv *)pci_get_drvdata(pdev);
2010 - if (request_irq(pdev->irq, &dscc4_irq, SA_SHIRQ, "dscc4", priv->root)) {
2011 + if (request_irq(pdev->irq, &dscc4_irq, SA_SHIRQ | SA_NET_RANDOM,
2012 + "dscc4", priv->root)) {
2013 printk(KERN_WARNING "dscc4: IRQ %d is busy\n", pdev->irq);
2014 goto err_out_iounmap;
2016 diff -urN linux-2.4.18/drivers/net/wan/farsync.c linux/drivers/net/wan/farsync.c
2017 --- linux-2.4.18/drivers/net/wan/farsync.c Mon Feb 25 17:10:41 2002
2018 +++ linux/drivers/net/wan/farsync.c Mon Feb 25 17:42:32 2002
2019 @@ -1737,7 +1737,8 @@
2020 card->state = FST_RESET;
2022 /* Register the interrupt handler */
2023 - if ( request_irq ( card->irq, fst_intr, SA_SHIRQ, FST_DEV_NAME, card ))
2024 + if ( request_irq ( card->irq, fst_intr, SA_SHIRQ | SA_NET_RANDOM,
2025 + FST_DEV_NAME, card ))
2028 printk_err ("Unable to register interrupt %d\n", card->irq );
2029 diff -urN linux-2.4.18/drivers/net/wan/hostess_sv11.c linux/drivers/net/wan/hostess_sv11.c
2030 --- linux-2.4.18/drivers/net/wan/hostess_sv11.c Mon Feb 25 17:10:41 2002
2031 +++ linux/drivers/net/wan/hostess_sv11.c Mon Feb 25 17:42:32 2002
2033 /* We want a fast IRQ for this device. Actually we'd like an even faster
2034 IRQ ;) - This is one driver RtLinux is made for */
2036 - if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "Hostess SV/11", dev)<0)
2037 + if(request_irq(irq, &z8530_interrupt,
2038 + SA_INTERRUPT | SA_NET_RANDOM,
2039 + "Hostess SV/11", dev)<0)
2041 printk(KERN_WARNING "hostess: IRQ %d already in use.\n", irq);
2043 diff -urN linux-2.4.18/drivers/net/wan/lmc/lmc_main.c linux/drivers/net/wan/lmc/lmc_main.c
2044 --- linux-2.4.18/drivers/net/wan/lmc/lmc_main.c Mon Feb 25 17:10:41 2002
2045 +++ linux/drivers/net/wan/lmc/lmc_main.c Mon Feb 25 17:42:32 2002
2046 @@ -1178,7 +1178,8 @@
2049 /* Since we have to use PCI bus, this should work on x86,alpha,ppc */
2050 - if (request_irq (dev->irq, &lmc_interrupt, SA_SHIRQ, dev->name, dev)){
2051 + if (request_irq (dev->irq, &lmc_interrupt,
2052 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev)){
2053 printk(KERN_WARNING "%s: could not get irq: %d\n", dev->name, dev->irq);
2054 lmc_trace(dev, "lmc_open irq failed out");
2056 diff -urN linux-2.4.18/drivers/net/wan/n2.c linux/drivers/net/wan/n2.c
2057 --- linux-2.4.18/drivers/net/wan/n2.c Mon Feb 25 17:10:41 2002
2058 +++ linux/drivers/net/wan/n2.c Mon Feb 25 17:42:32 2002
2063 - if (request_irq(irq, &sca_intr, 0, devname, card)) {
2064 + if (request_irq(irq, &sca_intr, SA_NET_RANDOM, devname, card)) {
2065 printk(KERN_ERR "n2: could not allocate IRQ\n");
2066 n2_destroy_card(card);
2068 diff -urN linux-2.4.18/drivers/net/wan/sbni.c linux/drivers/net/wan/sbni.c
2069 --- linux-2.4.18/drivers/net/wan/sbni.c Mon Feb 25 17:10:41 2002
2070 +++ linux/drivers/net/wan/sbni.c Mon Feb 25 17:42:32 2002
2071 @@ -1168,7 +1168,8 @@
2075 - if( request_irq(dev->irq, sbni_interrupt, SA_SHIRQ, dev->name, dev) ) {
2076 + if( request_irq(dev->irq, sbni_interrupt,
2077 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev) ) {
2078 printk( KERN_ERR "%s: unable to get IRQ %d.\n",
2079 dev->name, dev->irq );
2081 diff -urN linux-2.4.18/drivers/net/wan/sdla.c linux/drivers/net/wan/sdla.c
2082 --- linux-2.4.18/drivers/net/wan/sdla.c Mon Feb 25 17:10:41 2002
2083 +++ linux/drivers/net/wan/sdla.c Mon Feb 25 17:42:32 2002
2084 @@ -1469,7 +1469,8 @@
2086 dev->irq = map->irq;
2088 - if (request_irq(dev->irq, &sdla_isr, 0, dev->name, dev))
2089 + if (request_irq(dev->irq, &sdla_isr, SA_NET_RANDOM,
2093 if (flp->type == SDLA_S507)
2094 diff -urN linux-2.4.18/drivers/net/wan/sdlamain.c linux/drivers/net/wan/sdlamain.c
2095 --- linux-2.4.18/drivers/net/wan/sdlamain.c Mon Feb 25 17:10:41 2002
2096 +++ linux/drivers/net/wan/sdlamain.c Mon Feb 25 17:42:32 2002
2098 /* when using the S514 PCI adapter */
2100 if(request_irq(irq, sdla_isr,
2101 - (card->hw.type == SDLA_S514) ? SA_SHIRQ : 0,
2102 - wandev->name, card)){
2103 + (card->hw.type == SDLA_S514) ? SA_SHIRQ : 0 | SA_NET_RANDOM, wandev->name, card)){
2105 printk(KERN_INFO "%s: Can't reserve IRQ %d!\n", wandev->name, irq);
2107 diff -urN linux-2.4.18/drivers/net/wan/sealevel.c linux/drivers/net/wan/sealevel.c
2108 --- linux-2.4.18/drivers/net/wan/sealevel.c Mon Feb 25 17:10:41 2002
2109 +++ linux/drivers/net/wan/sealevel.c Mon Feb 25 17:42:32 2002
2111 /* We want a fast IRQ for this device. Actually we'd like an even faster
2112 IRQ ;) - This is one driver RtLinux is made for */
2114 - if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "SeaLevel", dev)<0)
2115 + if(request_irq(irq, &z8530_interrupt,
2116 + SA_INTERRUPT | SA_NET_RANDOM, "SeaLevel", dev)<0)
2118 printk(KERN_WARNING "sealevel: IRQ %d already in use.\n", irq);
2120 diff -urN linux-2.4.18/drivers/net/wavelan.c linux/drivers/net/wavelan.c
2121 --- linux-2.4.18/drivers/net/wavelan.c Mon Feb 25 17:10:41 2002
2122 +++ linux/drivers/net/wavelan.c Mon Feb 25 17:42:32 2002
2123 @@ -3900,7 +3900,8 @@
2127 - if (request_irq(dev->irq, &wavelan_interrupt, 0, "WaveLAN", dev) != 0)
2128 + if (request_irq(dev->irq, &wavelan_interrupt, SA_NET_RANDOM,
2129 + "WaveLAN", dev) != 0)
2131 #ifdef DEBUG_CONFIG_ERROR
2132 printk(KERN_WARNING "%s: wavelan_open(): invalid IRQ\n",
2133 diff -urN linux-2.4.18/drivers/net/wd.c linux/drivers/net/wd.c
2134 --- linux-2.4.18/drivers/net/wd.c Mon Feb 25 17:10:41 2002
2135 +++ linux/drivers/net/wd.c Mon Feb 25 17:42:32 2002
2138 /* Snarf the interrupt now. There's no point in waiting since we cannot
2139 share and the board will usually be enabled. */
2140 - i = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
2141 + i = request_irq(dev->irq, ei_interrupt,
2142 + SA_NET_RANDOM, dev->name, dev);
2144 printk (" unable to get IRQ %d.\n", dev->irq);
2146 diff -urN linux-2.4.18/drivers/net/winbond-840.c linux/drivers/net/winbond-840.c
2147 --- linux-2.4.18/drivers/net/winbond-840.c Mon Feb 25 17:10:46 2002
2148 +++ linux/drivers/net/winbond-840.c Mon Feb 25 17:42:32 2002
2150 writel(0x00000001, ioaddr + PCIBusCfg); /* Reset */
2152 netif_device_detach(dev);
2153 - i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
2154 + i = request_irq(dev->irq, &intr_handler,
2155 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
2159 diff -urN linux-2.4.18/drivers/net/wireless/airo.c linux/drivers/net/wireless/airo.c
2160 --- linux-2.4.18/drivers/net/wireless/airo.c Mon Feb 25 17:10:47 2002
2161 +++ linux/drivers/net/wireless/airo.c Mon Feb 25 17:42:32 2002
2162 @@ -1191,7 +1191,8 @@
2164 dev->base_addr = port;
2166 - rc = request_irq( dev->irq, airo_interrupt, SA_SHIRQ, dev->name, dev );
2167 + rc = request_irq( dev->irq, airo_interrupt,
2168 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev );
2170 printk(KERN_ERR "airo: register interrupt %d failed, rc %d\n", irq, rc );
2171 goto err_out_unlink;
2172 diff -urN linux-2.4.18/drivers/net/wireless/airport.c linux/drivers/net/wireless/airport.c
2173 --- linux-2.4.18/drivers/net/wireless/airport.c Mon Feb 25 17:10:47 2002
2174 +++ linux/drivers/net/wireless/airport.c Mon Feb 25 17:42:32 2002
2176 /* Reset it before we get the interrupt */
2179 - if (request_irq(ndev->irq, orinoco_interrupt, 0, "Airport", (void *)priv)) {
2180 + if (request_irq(ndev->irq, orinoco_interrupt, SA_NET_RANDOM,
2181 + "Airport", (void *)priv)) {
2182 printk(KERN_ERR "airport: Couldn't get IRQ %d\n", ndev->irq);
2185 diff -urN linux-2.4.18/drivers/net/wireless/orinoco_plx.c linux/drivers/net/wireless/orinoco_plx.c
2186 --- linux-2.4.18/drivers/net/wireless/orinoco_plx.c Mon Feb 25 17:10:47 2002
2187 +++ linux/drivers/net/wireless/orinoco_plx.c Mon Feb 25 17:42:32 2002
2189 hermes_struct_init(&(priv->hw), dev->base_addr);
2190 pci_set_drvdata(pdev, priv);
2192 - err = request_irq(pdev->irq, orinoco_plx_interrupt, SA_SHIRQ, dev->name, priv);
2193 + err = request_irq(pdev->irq, orinoco_plx_interrupt,
2194 + SA_SHIRQ | SA_NET_RANDOM, dev->name, priv);
2196 printk(KERN_ERR "orinoco_plx: Error allocating IRQ %d.\n", pdev->irq);
2198 diff -urN linux-2.4.18/drivers/net/yellowfin.c linux/drivers/net/yellowfin.c
2199 --- linux-2.4.18/drivers/net/yellowfin.c Mon Feb 25 17:10:44 2002
2200 +++ linux/drivers/net/yellowfin.c Mon Feb 25 17:42:32 2002
2202 /* Reset the chip. */
2203 outl(0x80000000, ioaddr + DMACtrl);
2205 - i = request_irq(dev->irq, &yellowfin_interrupt, SA_SHIRQ, dev->name, dev);
2206 + i = request_irq(dev->irq, &yellowfin_interrupt,
2207 + SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
2210 if (yellowfin_debug > 1)
2211 diff -urN linux-2.4.18/drivers/net/znet.c linux/drivers/net/znet.c
2212 --- linux-2.4.18/drivers/net/znet.c Mon Feb 25 17:10:41 2002
2213 +++ linux/drivers/net/znet.c Mon Feb 25 17:42:32 2002
2215 zn.lock = SPIN_LOCK_UNLOCKED;
2217 /* These should never fail. You can't add devices to a sealed box! */
2218 - if (request_irq(dev->irq, &znet_interrupt, 0, "ZNet", dev)
2219 + if (request_irq(dev->irq, &znet_interrupt, SA_NET_RANDOM,
2221 || request_dma(zn.rx_dma,"ZNet rx")
2222 || request_dma(zn.tx_dma,"ZNet tx")) {
2223 printk(KERN_WARNING "%s: Not opened -- resource busy?!?\n", dev->name);