1 diff -urN linux-2.4.10/drivers/net/3c501.c linux/drivers/net/3c501.c
2 --- linux-2.4.10/drivers/net/3c501.c Fri Sep 21 15:26:24 2001
3 +++ linux/drivers/net/3c501.c Fri Sep 21 15:27:56 2001
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_SAMPLE_NET_RANDOM, dev->name, dev)))
13 spin_lock_irqsave(&lp->lock, flags);
14 diff -urN linux-2.4.10/drivers/net/3c503.c linux/drivers/net/3c503.c
15 --- linux-2.4.10/drivers/net/3c503.c Fri Sep 21 15:26:24 2001
16 +++ linux/drivers/net/3c503.c Fri Sep 21 15:27:56 2001
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_SAMPLE_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_SAMPLE_NET_RANDOM, dev->name, dev))) {
35 diff -urN linux-2.4.10/drivers/net/3c505.c linux/drivers/net/3c505.c
36 --- linux-2.4.10/drivers/net/3c505.c Fri Sep 21 15:26:24 2001
37 +++ linux/drivers/net/3c505.c Fri Sep 21 15:27:56 2001
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_SAMPLE_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.10/drivers/net/3c507.c linux/drivers/net/3c507.c
49 --- linux-2.4.10/drivers/net/3c507.c Fri Sep 21 15:26:24 2001
50 +++ linux/drivers/net/3c507.c Fri Sep 21 15:27:56 2001
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_SAMPLE_NET_RANDOM,
59 printk ("unable to get IRQ %d (irqval=%d).\n", irq, irqval);
61 diff -urN linux-2.4.10/drivers/net/3c509.c linux/drivers/net/3c509.c
62 --- linux-2.4.10/drivers/net/3c509.c Fri Sep 21 15:26:24 2001
63 +++ linux/drivers/net/3c509.c Fri Sep 21 15:27:56 2001
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_SAMPLE_NET_RANDOM, dev->name, dev);
74 diff -urN linux-2.4.10/drivers/net/3c515.c linux/drivers/net/3c515.c
75 --- linux-2.4.10/drivers/net/3c515.c Fri Sep 21 15:26:28 2001
76 +++ linux/drivers/net/3c515.c Fri Sep 21 15:27:56 2001
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,
84 + SA_SAMPLE_NET_RANDOM,
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_SAMPLE_NET_RANDOM,
91 vp->product_name, dev)) {
94 diff -urN linux-2.4.10/drivers/net/3c523.c linux/drivers/net/3c523.c
95 --- linux-2.4.10/drivers/net/3c523.c Fri Sep 21 15:26:24 2001
96 +++ linux/drivers/net/3c523.c Fri Sep 21 15:27:56 2001
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_SAMPLE_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.10/drivers/net/3c527.c linux/drivers/net/3c527.c
109 --- linux-2.4.10/drivers/net/3c527.c Fri Sep 21 15:26:25 2001
110 +++ linux/drivers/net/3c527.c Fri Sep 21 15:27:56 2001
115 - i = request_irq(dev->irq, &mc32_interrupt, SA_SHIRQ, dev->name, dev);
116 + i = request_irq(dev->irq, &mc32_interrupt, SA_SHIRQ | SA_SAMPLE_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.10/drivers/net/3c59x.c linux/drivers/net/3c59x.c
121 --- linux-2.4.10/drivers/net/3c59x.c Fri Sep 21 15:26:24 2001
122 +++ linux/drivers/net/3c59x.c Fri Sep 21 15:27:56 2001
123 @@ -1576,7 +1576,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_SAMPLE_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.10/drivers/net/7990.c linux/drivers/net/7990.c
134 --- linux-2.4.10/drivers/net/7990.c Fri Sep 21 15:26:25 2001
135 +++ linux/drivers/net/7990.c Fri Sep 21 15:27:56 2001
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_SAMPLE_NET_RANDOM, lp->name, dev))
144 res = lance_reset(dev);
145 diff -urN linux-2.4.10/drivers/net/8139too.c linux/drivers/net/8139too.c
146 --- linux-2.4.10/drivers/net/8139too.c Fri Sep 21 15:26:25 2001
147 +++ linux/drivers/net/8139too.c Fri Sep 21 15:27:56 2001
148 @@ -1289,7 +1289,8 @@
152 - retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev);
153 + retval = request_irq (dev->irq, rtl8139_interrupt,
154 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
156 DPRINTK ("EXIT, returning %d\n", retval);
158 diff -urN linux-2.4.10/drivers/net/82596.c linux/drivers/net/82596.c
159 --- linux-2.4.10/drivers/net/82596.c Fri Sep 21 15:26:25 2001
160 +++ linux/drivers/net/82596.c Fri Sep 21 15:27:56 2001
163 DEB(DEB_OPEN,printk("%s: i596_open() irq %d.\n", dev->name, dev->irq));
165 - if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
166 + if (request_irq(dev->irq, &i596_interrupt, SA_SAMPLE_NET_RANDOM,
168 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
171 diff -urN linux-2.4.10/drivers/net/a2065.c linux/drivers/net/a2065.c
172 --- linux-2.4.10/drivers/net/a2065.c Fri Sep 21 15:26:24 2001
173 +++ linux/drivers/net/a2065.c Fri Sep 21 15:27:56 2001
177 /* Install the Interrupt handler */
178 - ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt, SA_SHIRQ,
180 + ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt,
181 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
185 diff -urN linux-2.4.10/drivers/net/ac3200.c linux/drivers/net/ac3200.c
186 --- linux-2.4.10/drivers/net/ac3200.c Fri Sep 21 15:26:24 2001
187 +++ linux/drivers/net/ac3200.c Fri Sep 21 15:27:56 2001
189 printk(", assigning");
192 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
193 + retval = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
196 printk (" nothing! Unable to get IRQ %d.\n", dev->irq);
198 diff -urN linux-2.4.10/drivers/net/acenic.c linux/drivers/net/acenic.c
199 --- linux-2.4.10/drivers/net/acenic.c Fri Sep 21 15:26:24 2001
200 +++ linux/drivers/net/acenic.c Fri Sep 21 15:27:56 2001
201 @@ -1313,7 +1313,8 @@
205 - ecode = request_irq(dev->irq, ace_interrupt, SA_SHIRQ, dev->name, dev);
206 + ecode = request_irq(dev->irq, ace_interrupt,
207 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
209 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
210 dev->name, dev->irq);
211 diff -urN linux-2.4.10/drivers/net/aironet4500_card.c linux/drivers/net/aironet4500_card.c
212 --- linux-2.4.10/drivers/net/aironet4500_card.c Fri Sep 21 15:26:28 2001
213 +++ linux/drivers/net/aironet4500_card.c Fri Sep 21 15:27:56 2001
215 dev->watchdog_timeo = AWC_TX_TIMEOUT;
218 - i = request_irq(dev->irq,awc_interrupt, SA_SHIRQ | SA_INTERRUPT, dev->name, dev);
219 + i = request_irq(dev->irq,awc_interrupt, SA_SHIRQ | SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, dev->name, dev);
223 diff -urN linux-2.4.10/drivers/net/am79c961a.c linux/drivers/net/am79c961a.c
224 --- linux-2.4.10/drivers/net/am79c961a.c Fri Sep 21 15:26:25 2001
225 +++ linux/drivers/net/am79c961a.c Fri Sep 21 15:27:56 2001
228 memset (&priv->stats, 0, sizeof (priv->stats));
230 - ret = request_irq(dev->irq, am79c961_interrupt, 0, dev->name, dev);
231 + ret = request_irq(dev->irq, am79c961_interrupt, SA_SAMPLE_NET_RANDOM,
236 diff -urN linux-2.4.10/drivers/net/apne.c linux/drivers/net/apne.c
237 --- linux-2.4.10/drivers/net/apne.c Fri Sep 21 15:26:24 2001
238 +++ linux/drivers/net/apne.c Fri Sep 21 15:27:56 2001
240 dev->base_addr = ioaddr;
242 /* Install the Interrupt handler */
243 - i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ, dev->name, dev);
244 + i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt,
245 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
248 /* Allocate dev->priv and fill in 8390 specific dev fields. */
249 diff -urN linux-2.4.10/drivers/net/appletalk/cops.c linux/drivers/net/appletalk/cops.c
250 --- linux-2.4.10/drivers/net/appletalk/cops.c Fri Sep 21 15:26:28 2001
251 +++ linux/drivers/net/appletalk/cops.c Fri Sep 21 15:27:56 2001
254 /* Reserve any actual interrupt. */
256 - retval = request_irq(dev->irq, &cops_interrupt, 0, dev->name, dev);
257 + retval = request_irq(dev->irq, &cops_interrupt,
258 + SA_SAMPLE_NET_RANDOM, dev->name, dev);
262 diff -urN linux-2.4.10/drivers/net/appletalk/ltpc.c linux/drivers/net/appletalk/ltpc.c
263 --- linux-2.4.10/drivers/net/appletalk/ltpc.c Fri Sep 21 15:26:28 2001
264 +++ linux/drivers/net/appletalk/ltpc.c Fri Sep 21 15:27:56 2001
265 @@ -1200,7 +1200,8 @@
268 /* grab it and don't let go :-) */
269 - (void) request_irq( irq, <pc_interrupt, 0, "ltpc", dev);
270 + (void) request_irq(irq, <pc_interrupt,
271 + SA_SAMPLE_NET_RANDOM, "ltpc", dev);
272 (void) inb_p(io+7); /* enable interrupts from board */
273 (void) inb_p(io+7); /* and reset irq line */
275 diff -urN linux-2.4.10/drivers/net/arcnet/arc-rimi.c linux/drivers/net/arcnet/arc-rimi.c
276 --- linux-2.4.10/drivers/net/arcnet/arc-rimi.c Fri Sep 21 15:26:25 2001
277 +++ linux/drivers/net/arcnet/arc-rimi.c Fri Sep 21 15:27:56 2001
281 /* reserve the irq */ {
282 - if (request_irq(dev->irq, &arcnet_interrupt, 0, "arcnet (RIM I)", dev))
283 + if (request_irq(dev->irq, &arcnet_interrupt,
284 + SA_SAMPLE_NET_RANDOM, "arcnet (RIM I)", dev))
285 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
288 diff -urN linux-2.4.10/drivers/net/arcnet/com20020.c linux/drivers/net/arcnet/com20020.c
289 --- linux-2.4.10/drivers/net/arcnet/com20020.c Fri Sep 21 15:26:25 2001
290 +++ linux/drivers/net/arcnet/com20020.c Fri Sep 21 15:27:56 2001
292 outb(dev->dev_addr[0], _XREG);
294 /* reserve the irq */
295 - if (request_irq(dev->irq, &arcnet_interrupt, shared,
296 + if (request_irq(dev->irq, &arcnet_interrupt,
297 + shared | SA_SAMPLE_NET_RANDOM,
298 "arcnet (COM20020)", dev)) {
299 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
301 diff -urN linux-2.4.10/drivers/net/arcnet/com90io.c linux/drivers/net/arcnet/com90io.c
302 --- linux-2.4.10/drivers/net/arcnet/com90io.c Fri Sep 21 15:26:25 2001
303 +++ linux/drivers/net/arcnet/com90io.c Fri Sep 21 15:27:56 2001
305 int ioaddr = dev->base_addr;
307 /* Reserve the irq */
308 - if (request_irq(dev->irq, &arcnet_interrupt, 0, "arcnet (COM90xx-IO)", dev)) {
309 + if (request_irq(dev->irq, &arcnet_interrupt,
310 + SA_SAMPLE_NET_RANDOM, "arcnet (COM90xx-IO)", dev)) {
311 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
314 diff -urN linux-2.4.10/drivers/net/arcnet/com90xx.c linux/drivers/net/arcnet/com90xx.c
315 --- linux-2.4.10/drivers/net/arcnet/com90xx.c Fri Sep 21 15:26:25 2001
316 +++ linux/drivers/net/arcnet/com90xx.c Fri Sep 21 15:27:56 2001
318 dev->dev_addr[0] = readb(lp->mem_start + 1);
320 /* reserve the irq */
321 - if (request_irq(airq, &arcnet_interrupt, 0, "arcnet (90xx)", dev)) {
322 + if (request_irq(airq, &arcnet_interrupt, SA_SAMPLE_NET_RANDOM,
323 + "arcnet (90xx)", dev)) {
324 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", airq);
327 diff -urN linux-2.4.10/drivers/net/ariadne.c linux/drivers/net/ariadne.c
328 --- linux-2.4.10/drivers/net/ariadne.c Fri Sep 21 15:26:24 2001
329 +++ linux/drivers/net/ariadne.c Fri Sep 21 15:27:56 2001
332 netif_start_queue(dev);
334 - i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt, SA_SHIRQ,
336 + i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt,
337 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
340 lance->RAP = CSR0; /* PCnet-ISA Controller Status */
341 diff -urN linux-2.4.10/drivers/net/ariadne2.c linux/drivers/net/ariadne2.c
342 --- linux-2.4.10/drivers/net/ariadne2.c Fri Sep 21 15:26:28 2001
343 +++ linux/drivers/net/ariadne2.c Fri Sep 21 15:27:56 2001
345 dev->irq = IRQ_AMIGA_PORTS;
347 /* Install the Interrupt handler */
348 - i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, dev->name, dev);
349 + i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
350 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
353 /* Allocate dev->priv and fill in 8390 specific dev fields. */
354 diff -urN linux-2.4.10/drivers/net/arlan.c linux/drivers/net/arlan.c
355 --- linux-2.4.10/drivers/net/arlan.c Fri Sep 21 15:26:25 2001
356 +++ linux/drivers/net/arlan.c Fri Sep 21 15:27:56 2001
357 @@ -1295,7 +1295,8 @@
360 arlan = ((struct arlan_private *) dev->priv)->card;
361 - ret = request_irq(dev->irq, &arlan_interrupt, 0, dev->name, dev);
362 + ret = request_irq(dev->irq, &arlan_interrupt, SA_SAMPLE_NET_RANDOM,
366 printk(KERN_ERR "%s: unable to get IRQ %d .\n",
367 diff -urN linux-2.4.10/drivers/net/at1700.c linux/drivers/net/at1700.c
368 --- linux-2.4.10/drivers/net/at1700.c Fri Sep 21 15:26:24 2001
369 +++ linux/drivers/net/at1700.c Fri Sep 21 15:27:56 2001
371 lp->jumpered = is_fmv18x;
373 /* Snarf the interrupt vector now. */
374 - ret = request_irq(irq, &net_interrupt, 0, dev->name, dev);
375 + ret = request_irq(irq, &net_interrupt, SA_SAMPLE_NET_RANDOM,
378 printk (" AT1700 at %#3x is unusable due to a conflict on"
379 "IRQ %d.\n", ioaddr, irq);
380 diff -urN linux-2.4.10/drivers/net/atarilance.c linux/drivers/net/atarilance.c
381 --- linux-2.4.10/drivers/net/atarilance.c Fri Sep 21 15:26:24 2001
382 +++ linux/drivers/net/atarilance.c Fri Sep 21 15:27:56 2001
384 if (lp->cardtype == PAM_CARD ||
385 memaddr == (unsigned short *)0xffe00000) {
386 /* PAMs card and Riebl on ST use level 5 autovector */
387 - request_irq(IRQ_AUTO_5, lance_interrupt, IRQ_TYPE_PRIO,
388 + request_irq(IRQ_AUTO_5, lance_interrupt,
389 + IRQ_TYPE_PRIO | SA_SAMPLE_NET_RANDOM,
390 "PAM/Riebl-ST Ethernet", dev);
391 dev->irq = (unsigned short)IRQ_AUTO_5;
394 printk( "Lance: request for VME interrupt failed\n" );
397 - request_irq(irq, lance_interrupt, IRQ_TYPE_PRIO,
398 + request_irq(irq, lance_interrupt,
399 + IRQ_TYPE_PRIO | SA_SAMPLE_NET_RANDOM,
400 "Riebl-VME Ethernet", dev);
403 diff -urN linux-2.4.10/drivers/net/atp.c linux/drivers/net/atp.c
404 --- linux-2.4.10/drivers/net/atp.c Fri Sep 21 15:26:24 2001
405 +++ linux/drivers/net/atp.c Fri Sep 21 15:27:56 2001
407 /* The interrupt line is turned off (tri-stated) when the device isn't in
408 use. That's especially important for "attached" interfaces where the
409 port or interrupt may be shared. */
410 - ret = request_irq(dev->irq, &atp_interrupt, 0, dev->name, dev);
411 + ret = request_irq(dev->irq, &atp_interrupt, SA_SAMPLE_NET_RANDOM,
416 diff -urN linux-2.4.10/drivers/net/au1000_eth.c linux/drivers/net/au1000_eth.c
417 --- linux-2.4.10/drivers/net/au1000_eth.c Fri Sep 21 15:26:28 2001
418 +++ linux/drivers/net/au1000_eth.c Fri Sep 21 15:27:56 2001
421 netif_start_queue(dev);
423 - if ((retval = request_irq(dev->irq, &au1000_interrupt, 0, dev->name, dev))) {
424 + if ((retval = request_irq(dev->irq, &au1000_interrupt,
425 + SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
426 printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
429 diff -urN linux-2.4.10/drivers/net/bagetlance.c linux/drivers/net/bagetlance.c
430 --- linux-2.4.10/drivers/net/bagetlance.c Fri Sep 21 15:26:28 2001
431 +++ linux/drivers/net/bagetlance.c Fri Sep 21 15:27:56 2001
433 if (lp->cardtype == PAM_CARD ||
434 memaddr == (unsigned short *)0xffe00000) {
435 /* PAMs card and Riebl on ST use level 5 autovector */
436 - request_irq(BAGET_LANCE_IRQ, lance_interrupt, IRQ_TYPE_PRIO,
437 + request_irq(BAGET_LANCE_IRQ, lance_interrupt,
438 + IRQ_TYPE_PRIO | SA_SAMPLE_NET_RANDOM,
439 "PAM/Riebl-ST Ethernet", dev);
440 dev->irq = (unsigned short)BAGET_LANCE_IRQ;
442 diff -urN linux-2.4.10/drivers/net/bmac.c linux/drivers/net/bmac.c
443 --- linux-2.4.10/drivers/net/bmac.c Fri Sep 21 15:26:25 2001
444 +++ linux/drivers/net/bmac.c Fri Sep 21 15:27:56 2001
445 @@ -1405,17 +1405,20 @@
446 /* init_timer(&bp->tx_timeout); */
447 /* bp->timeout_active = 0; */
449 - ret = request_irq(dev->irq, bmac_misc_intr, 0, "BMAC-misc", dev);
450 + ret = request_irq(dev->irq, bmac_misc_intr, SA_SAMPLE_NET_RANDOM,
453 printk(KERN_ERR "BMAC: can't get irq %d\n", dev->irq);
454 goto err_out_iounmap_rx;
456 - ret = request_irq(bmac->intrs[1].line, bmac_txdma_intr, 0, "BMAC-txdma", dev);
457 + ret = request_irq(bmac->intrs[1].line, bmac_txdma_intr,
458 + SA_SAMPLE_NET_RANDOM, "BMAC-txdma", dev);
460 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[1].line);
463 - ret = request_irq(bmac->intrs[2].line, bmac_rxdma_intr, 0, "BMAC-rxdma", dev);
464 + ret = request_irq(bmac->intrs[2].line, bmac_rxdma_intr,
465 + SA_SAMPLE_NET_RANDOM, "BMAC-rxdma", dev);
467 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[2].line);
469 diff -urN linux-2.4.10/drivers/net/cs89x0.c linux/drivers/net/cs89x0.c
470 --- linux-2.4.10/drivers/net/cs89x0.c Fri Sep 21 15:26:24 2001
471 +++ linux/drivers/net/cs89x0.c Fri Sep 21 15:27:56 2001
472 @@ -1057,7 +1057,7 @@
474 for (i = 2; i < CS8920_NO_INTS; i++) {
475 if ((1 << dev->irq) & lp->irq_map) {
476 - if (request_irq(i, net_interrupt, 0, dev->name, dev) == 0) {
477 + if (request_irq(i, net_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev) == 0) {
479 write_irq(dev, lp->chip_type, i);
480 /* writereg(dev, PP_BufCFG, GENERATE_SW_INTERRUPT); */
481 @@ -1086,7 +1086,8 @@
482 writereg(dev, PP_BusCTL, ENABLE_IRQ | MEMORY_ON);
484 write_irq(dev, lp->chip_type, dev->irq);
485 - ret = request_irq(dev->irq, &net_interrupt, 0, dev->name, dev);
486 + ret = request_irq(dev->irq, &net_interrupt,
487 + SA_SAMPLE_NET_RANDOM,, dev->name, dev);
490 printk(KERN_DEBUG "cs89x0: request_irq(%d) failed\n", dev->irq);
491 diff -urN linux-2.4.10/drivers/net/daynaport.c linux/drivers/net/daynaport.c
492 --- linux-2.4.10/drivers/net/daynaport.c Fri Sep 21 15:26:25 2001
493 +++ linux/drivers/net/daynaport.c Fri Sep 21 15:27:56 2001
495 /* - funaho@jurai.org (1999-05-17) */
497 /* Non-slow interrupt, works around issues with the SONIC driver */
498 - ret = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
499 + ret = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
502 printk ("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
504 diff -urN linux-2.4.10/drivers/net/de4x5.c linux/drivers/net/de4x5.c
505 --- linux-2.4.10/drivers/net/de4x5.c Fri Sep 21 15:26:24 2001
506 +++ linux/drivers/net/de4x5.c Fri Sep 21 15:27:56 2001
507 @@ -1402,11 +1402,12 @@
511 - if (request_irq(dev->irq, (void *)de4x5_interrupt, SA_SHIRQ,
512 - lp->adapter_name, dev)) {
513 + if (request_irq(dev->irq, (void *)de4x5_interrupt,
514 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, lp->adapter_name, dev)) {
515 printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
516 - if (request_irq(dev->irq, de4x5_interrupt, SA_INTERRUPT | SA_SHIRQ,
517 - lp->adapter_name, dev)) {
518 + if (request_irq(dev->irq, de4x5_interrupt,
519 + SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
520 + lp->adapter_name, dev)) {
521 printk("\n Cannot get IRQ- reconfigure your hardware.\n");
523 de4x5_free_rx_buffs(dev);
524 diff -urN linux-2.4.10/drivers/net/de600.c linux/drivers/net/de600.c
525 --- linux-2.4.10/drivers/net/de600.c Fri Sep 21 15:26:24 2001
526 +++ linux/drivers/net/de600.c Fri Sep 21 15:27:56 2001
529 de600_open(struct net_device *dev)
531 - int ret = request_irq(DE600_IRQ, de600_interrupt, 0, dev->name, dev);
532 + int ret = request_irq(DE600_IRQ, de600_interrupt, SA_SAMPLE_NET_RANDOM,
535 printk ("%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
537 diff -urN linux-2.4.10/drivers/net/de620.c linux/drivers/net/de620.c
538 --- linux-2.4.10/drivers/net/de620.c Fri Sep 21 15:26:24 2001
539 +++ linux/drivers/net/de620.c Fri Sep 21 15:27:56 2001
542 static int de620_open(struct net_device *dev)
544 - int ret = request_irq(dev->irq, de620_interrupt, 0, dev->name, dev);
545 + int ret = request_irq(dev->irq, de620_interrupt, SA_SAMPLE_NET_RANDOM,
548 printk (KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
550 diff -urN linux-2.4.10/drivers/net/declance.c linux/drivers/net/declance.c
551 --- linux-2.4.10/drivers/net/declance.c Fri Sep 21 15:26:28 2001
552 +++ linux/drivers/net/declance.c Fri Sep 21 15:27:56 2001
554 netif_start_queue(dev);
556 /* Associate IRQ with lance_interrupt */
557 - if (request_irq(dev->irq, &lance_interrupt, 0, lp->name, dev)) {
558 + if (request_irq(dev->irq, &lance_interrupt, SA_SAMPLE_NET_RANDOM,
560 printk("Lance: Can't get irq %d\n", dev->irq);
563 diff -urN linux-2.4.10/drivers/net/defxx.c linux/drivers/net/defxx.c
564 --- linux-2.4.10/drivers/net/defxx.c Fri Sep 21 15:26:25 2001
565 +++ linux/drivers/net/defxx.c Fri Sep 21 15:27:56 2001
566 @@ -1218,7 +1218,8 @@
568 /* Register IRQ - support shared interrupts by passing device ptr */
570 - ret = request_irq(dev->irq, (void *)dfx_interrupt, SA_SHIRQ, dev->name, dev);
571 + ret = request_irq(dev->irq, (void *)dfx_interrupt,
572 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
574 printk(KERN_ERR "%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
576 diff -urN linux-2.4.10/drivers/net/depca.c linux/drivers/net/depca.c
577 --- linux-2.4.10/drivers/net/depca.c Fri Sep 21 15:26:24 2001
578 +++ linux/drivers/net/depca.c Fri Sep 21 15:27:56 2001
583 - if (request_irq(dev->irq, &depca_interrupt, 0, lp->adapter_name, dev)) {
584 + if (request_irq(dev->irq, &depca_interrupt, SA_SAMPLE_NET_RANDOM,
585 + lp->adapter_name, dev)) {
586 printk("depca_open(): Requested IRQ%d is busy\n",dev->irq);
589 diff -urN linux-2.4.10/drivers/net/dgrs.c linux/drivers/net/dgrs.c
590 --- linux-2.4.10/drivers/net/dgrs.c Fri Sep 21 15:26:24 2001
591 +++ linux/drivers/net/dgrs.c Fri Sep 21 15:27:56 2001
592 @@ -1176,7 +1176,8 @@
595 OUTL(dev->base_addr + PLX_LCL2PCI_DOORBELL, 1);
596 - rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ, "RightSwitch", dev);
597 + rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
598 + "RightSwitch", dev);
602 diff -urN linux-2.4.10/drivers/net/dl2k.c linux/drivers/net/dl2k.c
603 --- linux-2.4.10/drivers/net/dl2k.c Fri Sep 21 15:26:28 2001
604 +++ linux/drivers/net/dl2k.c Fri Sep 21 15:27:56 2001
606 long ioaddr = dev->base_addr;
609 - i = request_irq (dev->irq, &rio_interrupt, SA_SHIRQ, dev->name, dev);
610 + i = request_irq (dev->irq, &rio_interrupt,
611 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
615 diff -urN linux-2.4.10/drivers/net/dmfe.c linux/drivers/net/dmfe.c
616 --- linux-2.4.10/drivers/net/dmfe.c Fri Sep 21 15:26:25 2001
617 +++ linux/drivers/net/dmfe.c Fri Sep 21 15:27:56 2001
620 DMFE_DBUG(0, "dmfe_open", 0);
622 - ret = request_irq(dev->irq, &dmfe_interrupt, SA_SHIRQ, dev->name, dev);
623 + ret = request_irq(dev->irq, &dmfe_interrupt,
624 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
628 diff -urN linux-2.4.10/drivers/net/e2100.c linux/drivers/net/e2100.c
629 --- linux-2.4.10/drivers/net/e2100.c Fri Sep 21 15:26:24 2001
630 +++ linux/drivers/net/e2100.c Fri Sep 21 15:27:56 2001
632 short ioaddr = dev->base_addr;
635 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev)))
636 + if ((retval = request_irq(dev->irq, ei_interrupt,
637 + SA_SAMPLE_NET_RANDOM, dev->name, dev)))
640 /* Set the interrupt line and memory base on the hardware. */
641 diff -urN linux-2.4.10/drivers/net/eepro.c linux/drivers/net/eepro.c
642 --- linux-2.4.10/drivers/net/eepro.c Fri Sep 21 15:26:24 2001
643 +++ linux/drivers/net/eepro.c Fri Sep 21 15:27:56 2001
648 - if (request_irq(dev->irq , &eepro_interrupt, 0, dev->name, dev)) {
649 + if (request_irq(dev->irq , &eepro_interrupt, SA_SAMPLE_NET_RANDOM,
651 printk("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
654 diff -urN linux-2.4.10/drivers/net/eepro100.c linux/drivers/net/eepro100.c
655 --- linux-2.4.10/drivers/net/eepro100.c Fri Sep 21 15:26:25 2001
656 +++ linux/drivers/net/eepro100.c Fri Sep 21 15:27:56 2001
658 sp->in_interrupt = 0;
660 /* .. we can safely take handler calls during init. */
661 - retval = request_irq(dev->irq, &speedo_interrupt, SA_SHIRQ, dev->name, dev);
662 + retval = request_irq(dev->irq, &speedo_interrupt,
663 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
667 diff -urN linux-2.4.10/drivers/net/eexpress.c linux/drivers/net/eexpress.c
668 --- linux-2.4.10/drivers/net/eexpress.c Fri Sep 21 15:26:24 2001
669 +++ linux/drivers/net/eexpress.c Fri Sep 21 15:27:56 2001
671 if (!dev->irq || !irqrmap[dev->irq])
674 - ret = request_irq(dev->irq,&eexp_irq,0,dev->name,dev);
675 + ret = request_irq(dev->irq,&eexp_irq,SA_SAMPLE_NET_RANDOM,
679 request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress");
680 diff -urN linux-2.4.10/drivers/net/epic100.c linux/drivers/net/epic100.c
681 --- linux-2.4.10/drivers/net/epic100.c Fri Sep 21 15:26:25 2001
682 +++ linux/drivers/net/epic100.c Fri Sep 21 15:27:56 2001
684 /* Soft reset the chip. */
685 outl(0x4001, ioaddr + GENCTL);
687 - if ((retval = request_irq(dev->irq, &epic_interrupt, SA_SHIRQ, dev->name, dev)))
688 + if ((retval = request_irq(dev->irq, &epic_interrupt,
689 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)))
693 diff -urN linux-2.4.10/drivers/net/es3210.c linux/drivers/net/es3210.c
694 --- linux-2.4.10/drivers/net/es3210.c Fri Sep 21 15:26:25 2001
695 +++ linux/drivers/net/es3210.c Fri Sep 21 15:27:56 2001
697 printk(" assigning IRQ %d", dev->irq);
700 - if (request_irq(dev->irq, ei_interrupt, 0, "es3210", dev)) {
701 + if (request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
703 printk (" unable to get IRQ %d.\n", dev->irq);
706 diff -urN linux-2.4.10/drivers/net/eth16i.c linux/drivers/net/eth16i.c
707 --- linux-2.4.10/drivers/net/eth16i.c Fri Sep 21 15:26:24 2001
708 +++ linux/drivers/net/eth16i.c Fri Sep 21 15:27:56 2001
711 /* Try to obtain interrupt vector */
713 - if ((retval = request_irq(dev->irq, (void *)ð16i_interrupt, 0, dev->name, dev))) {
714 + if ((retval = request_irq(dev->irq, (void *)ð16i_interrupt,
715 + SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
716 printk(KERN_WARNING "%s: %s at %#3x, but is unusable due conflicting IRQ %d.\n",
717 dev->name, cardname, ioaddr, dev->irq);
719 diff -urN linux-2.4.10/drivers/net/ewrk3.c linux/drivers/net/ewrk3.c
720 --- linux-2.4.10/drivers/net/ewrk3.c Fri Sep 21 15:26:24 2001
721 +++ linux/drivers/net/ewrk3.c Fri Sep 21 15:27:56 2001
725 if (!lp->hard_strapped) {
726 - if (request_irq(dev->irq, (void *) ewrk3_interrupt, 0, "ewrk3", dev)) {
727 + if (request_irq(dev->irq, (void *) ewrk3_interrupt,
728 + SA_SAMPLE_NET_RANDOM, "ewrk3", dev)) {
729 printk("ewrk3_open(): Requested IRQ%d is busy\n", dev->irq);
732 diff -urN linux-2.4.10/drivers/net/fc/iph5526.c linux/drivers/net/fc/iph5526.c
733 --- linux-2.4.10/drivers/net/fc/iph5526.c Fri Sep 21 15:26:28 2001
734 +++ linux/drivers/net/fc/iph5526.c Fri Sep 21 15:27:56 2001
735 @@ -3844,7 +3844,7 @@
737 /* Found it, get IRQ.
739 - irqval = request_irq(pci_irq_line, &tachyon_interrupt, pci_irq_line ? SA_SHIRQ : 0, fi->name, host);
740 + irqval = request_irq(pci_irq_line, &tachyon_interrupt, pci_irq_line ? SA_SHIRQ : 0 | SA_SAMPLE_NET_RANDOM, fi->name, host);
742 printk("iph5526.c : Unable to get IRQ %d (irqval = %d).\n", pci_irq_line, irqval);
743 scsi_unregister(host);
744 diff -urN linux-2.4.10/drivers/net/fealnx.c linux/drivers/net/fealnx.c
745 --- linux-2.4.10/drivers/net/fealnx.c Fri Sep 21 15:26:28 2001
746 +++ linux/drivers/net/fealnx.c Fri Sep 21 15:27:56 2001
749 writel(0x00000001, ioaddr + BCR); /* Reset */
751 - if (request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev))
752 + if (request_irq(dev->irq, &intr_handler,
753 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev))
757 diff -urN linux-2.4.10/drivers/net/fmv18x.c linux/drivers/net/fmv18x.c
758 --- linux-2.4.10/drivers/net/fmv18x.c Fri Sep 21 15:26:24 2001
759 +++ linux/drivers/net/fmv18x.c Fri Sep 21 15:27:56 2001
763 /* Snarf the interrupt vector now. */
764 - retval = request_irq(irq, &net_interrupt, 0, dev->name, dev);
765 + retval = request_irq(irq, &net_interrupt, SA_SAMPLE_NET_RANDOM,
768 printk ("FMV-18x found at %#3x, but it's unusable due to a conflict on"
769 "IRQ %d.\n", ioaddr, irq);
770 diff -urN linux-2.4.10/drivers/net/gmac.c linux/drivers/net/gmac.c
771 --- linux-2.4.10/drivers/net/gmac.c Fri Sep 21 15:26:25 2001
772 +++ linux/drivers/net/gmac.c Fri Sep 21 15:27:56 2001
773 @@ -1082,7 +1082,8 @@
776 /* Get our interrupt */
777 - ret = request_irq(dev->irq, gmac_interrupt, 0, dev->name, dev);
778 + ret = request_irq(dev->irq, gmac_interrupt,
779 + SA_SAMPLE_NET_RANDOM, dev->name, dev);
781 printk(KERN_ERR "%s can't get irq %d\n", dev->name, dev->irq);
783 diff -urN linux-2.4.10/drivers/net/gt96100eth.c linux/drivers/net/gt96100eth.c
784 --- linux-2.4.10/drivers/net/gt96100eth.c Fri Sep 21 15:26:28 2001
785 +++ linux/drivers/net/gt96100eth.c Fri Sep 21 15:27:56 2001
787 printk("%s: gt96100_open: dev=%p\n", dev->name, dev);
789 if ((retval = request_irq(dev->irq, >96100_interrupt,
790 - SA_SHIRQ, dev->name, dev))) {
791 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
792 + dev->name, dev))) {
793 printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name,
796 diff -urN linux-2.4.10/drivers/net/hamachi.c linux/drivers/net/hamachi.c
797 --- linux-2.4.10/drivers/net/hamachi.c Fri Sep 21 15:26:28 2001
798 +++ linux/drivers/net/hamachi.c Fri Sep 21 15:27:56 2001
800 u_int32_t rx_int_var, tx_int_var;
803 - i = request_irq(dev->irq, &hamachi_interrupt, SA_SHIRQ, dev->name, dev);
804 + i = request_irq(dev->irq, &hamachi_interrupt,
805 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
809 diff -urN linux-2.4.10/drivers/net/hamradio/baycom_ser_fdx.c linux/drivers/net/hamradio/baycom_ser_fdx.c
810 --- linux-2.4.10/drivers/net/hamradio/baycom_ser_fdx.c Fri Sep 21 15:26:24 2001
811 +++ linux/drivers/net/hamradio/baycom_ser_fdx.c Fri Sep 21 15:27:56 2001
813 outb(0, FCR(dev->base_addr)); /* disable FIFOs */
814 outb(0x0d, MCR(dev->base_addr));
815 outb(0, IER(dev->base_addr));
816 - if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ,
817 + if (request_irq(dev->irq, ser12_interrupt,
818 + SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
819 "baycom_ser_fdx", dev))
821 request_region(dev->base_addr, SER12_EXTENT, "baycom_ser_fdx");
822 diff -urN linux-2.4.10/drivers/net/hamradio/baycom_ser_hdx.c linux/drivers/net/hamradio/baycom_ser_hdx.c
823 --- linux-2.4.10/drivers/net/hamradio/baycom_ser_hdx.c Fri Sep 21 15:26:24 2001
824 +++ linux/drivers/net/hamradio/baycom_ser_hdx.c Fri Sep 21 15:27:56 2001
826 outb(0, FCR(dev->base_addr)); /* disable FIFOs */
827 outb(0x0d, MCR(dev->base_addr));
828 outb(0, IER(dev->base_addr));
829 - if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ,
830 + if (request_irq(dev->irq, ser12_interrupt,
831 + SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
832 "baycom_ser12", dev))
834 request_region(dev->base_addr, SER12_EXTENT, "baycom_ser12");
835 diff -urN linux-2.4.10/drivers/net/hamradio/dmascc.c linux/drivers/net/hamradio/dmascc.c
836 --- linux-2.4.10/drivers/net/hamradio/dmascc.c Fri Sep 21 15:26:24 2001
837 +++ linux/drivers/net/hamradio/dmascc.c Fri Sep 21 15:27:56 2001
840 /* Request IRQ if not already used by other channel */
841 if (!info->irq_used) {
842 - if (request_irq(dev->irq, scc_isr, 0, "dmascc", info)) {
843 + if (request_irq(dev->irq, scc_isr, SA_SAMPLE_NET_RANDOM, "dmascc", info)) {
847 diff -urN linux-2.4.10/drivers/net/hamradio/scc.c linux/drivers/net/hamradio/scc.c
848 --- linux-2.4.10/drivers/net/hamradio/scc.c Fri Sep 21 15:26:24 2001
849 +++ linux/drivers/net/hamradio/scc.c Fri Sep 21 15:27:56 2001
850 @@ -1769,7 +1769,7 @@
852 if (!Ivec[hwcfg.irq].used && hwcfg.irq)
854 - if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT, "AX.25 SCC", NULL))
855 + if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, "AX.25 SCC", NULL))
856 printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq);
858 Ivec[hwcfg.irq].used = 1;
859 diff -urN linux-2.4.10/drivers/net/hamradio/soundmodem/sm_sbc.c linux/drivers/net/hamradio/soundmodem/sm_sbc.c
860 --- linux-2.4.10/drivers/net/hamradio/soundmodem/sm_sbc.c Fri Sep 21 15:26:24 2001
861 +++ linux/drivers/net/hamradio/soundmodem/sm_sbc.c Fri Sep 21 15:27:56 2001
866 - if (request_irq(dev->irq, sbc_interrupt, SA_INTERRUPT,
867 + if (request_irq(dev->irq, sbc_interrupt,
868 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
869 sm->hwdrv->hw_name, dev)) {
876 - if (request_irq(dev->irq, sbcfdx_interrupt, SA_INTERRUPT,
877 + if (request_irq(dev->irq, sbcfdx_interrupt,
878 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
879 sm->hwdrv->hw_name, dev)) {
882 diff -urN linux-2.4.10/drivers/net/hamradio/soundmodem/sm_wss.c linux/drivers/net/hamradio/soundmodem/sm_wss.c
883 --- linux-2.4.10/drivers/net/hamradio/soundmodem/sm_wss.c Fri Sep 21 15:26:24 2001
884 +++ linux/drivers/net/hamradio/soundmodem/sm_wss.c Fri Sep 21 15:27:56 2001
889 - if (request_irq(dev->irq, wss_interrupt, SA_INTERRUPT,
890 + if (request_irq(dev->irq, wss_interrupt,
891 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
892 sm->hwdrv->hw_name, dev)) {
899 - if (request_irq(dev->irq, wssfdx_interrupt, SA_INTERRUPT,
900 + if (request_irq(dev->irq, wssfdx_interrupt,
901 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
902 sm->hwdrv->hw_name, dev)) {
905 diff -urN linux-2.4.10/drivers/net/hamradio/yam.c linux/drivers/net/hamradio/yam.c
906 --- linux-2.4.10/drivers/net/hamradio/yam.c Fri Sep 21 15:26:24 2001
907 +++ linux/drivers/net/hamradio/yam.c Fri Sep 21 15:27:56 2001
911 outb(0, IER(dev->base_addr));
912 - if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ, dev->name, NULL)) {
913 + if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, NULL)) {
914 printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
917 diff -urN linux-2.4.10/drivers/net/hp-plus.c linux/drivers/net/hp-plus.c
918 --- linux-2.4.10/drivers/net/hp-plus.c Fri Sep 21 15:26:24 2001
919 +++ linux/drivers/net/hp-plus.c Fri Sep 21 15:27:56 2001
924 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
925 + if ((retval = request_irq(dev->irq, ei_interrupt,
926 + SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
930 diff -urN linux-2.4.10/drivers/net/hp.c linux/drivers/net/hp.c
931 --- linux-2.4.10/drivers/net/hp.c Fri Sep 21 15:26:24 2001
932 +++ linux/drivers/net/hp.c Fri Sep 21 15:27:56 2001
934 /* Twinkle the interrupt, and check if it's seen. */
935 outb_p(irqmap[irq] | HP_RUN, ioaddr + HP_CONFIGURE);
936 outb_p( 0x00 | HP_RUN, ioaddr + HP_CONFIGURE);
937 - if (irq == probe_irq_off(cookie) /* It's a good IRQ line! */
938 - && request_irq (irq, ei_interrupt, 0, dev->name, dev) == 0) {
939 + if (irq == probe_irq_off(cookie) /* It's a good IRQ line! */ && request_irq (irq, ei_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev) == 0) {
940 printk(" selecting IRQ %d.\n", irq);
943 diff -urN linux-2.4.10/drivers/net/hp100.c linux/drivers/net/hp100.c
944 --- linux-2.4.10/drivers/net/hp100.c Fri Sep 21 15:26:24 2001
945 +++ linux/drivers/net/hp100.c Fri Sep 21 15:27:56 2001
946 @@ -1163,7 +1163,7 @@
948 /* New: if bus is PCI or EISA, interrupts might be shared interrupts */
949 if ( request_irq(dev->irq, hp100_interrupt,
950 - lp->bus==HP100_BUS_PCI||lp->bus==HP100_BUS_EISA?SA_SHIRQ:SA_INTERRUPT,
951 + lp->bus==HP100_BUS_PCI||lp->bus==HP100_BUS_EISA?SA_SHIRQ:SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
954 printk( "hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq );
955 diff -urN linux-2.4.10/drivers/net/hydra.c linux/drivers/net/hydra.c
956 --- linux-2.4.10/drivers/net/hydra.c Fri Sep 21 15:26:24 2001
957 +++ linux/drivers/net/hydra.c Fri Sep 21 15:27:56 2001
959 dev->irq = IRQ_AMIGA_PORTS;
961 /* Install the Interrupt handler */
962 - if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, "Hydra Ethernet",
964 + if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
965 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "Hydra Ethernet", dev))
968 /* Allocate dev->priv and fill in 8390 specific dev fields. */
969 diff -urN linux-2.4.10/drivers/net/ibmlana.c linux/drivers/net/ibmlana.c
970 --- linux-2.4.10/drivers/net/ibmlana.c Fri Sep 21 15:26:28 2001
971 +++ linux/drivers/net/ibmlana.c Fri Sep 21 15:27:56 2001
975 request_irq(priv->realirq, irq_handler,
976 - SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
977 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
979 printk("%s: failed to register irq %d\n", dev->name,
981 diff -urN linux-2.4.10/drivers/net/ioc3-eth.c linux/drivers/net/ioc3-eth.c
982 --- linux-2.4.10/drivers/net/ioc3-eth.c Fri Sep 21 15:26:28 2001
983 +++ linux/drivers/net/ioc3-eth.c Fri Sep 21 15:27:56 2001
984 @@ -1313,7 +1313,8 @@
986 struct ioc3_private *ip = dev->priv;
988 - if (request_irq(dev->irq, ioc3_interrupt, SA_SHIRQ, ioc3_str, dev)) {
989 + if (request_irq(dev->irq, ioc3_interrupt,
990 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, ioc3_str, dev)) {
991 printk(KERN_ERR "%s: Can't get irq %d\n", dev->name, dev->irq);
994 diff -urN linux-2.4.10/drivers/net/irda/ali-ircc.c linux/drivers/net/irda/ali-ircc.c
995 --- linux-2.4.10/drivers/net/irda/ali-ircc.c Fri Sep 21 15:26:28 2001
996 +++ linux/drivers/net/irda/ali-ircc.c Fri Sep 21 15:27:56 2001
997 @@ -1357,7 +1357,8 @@
998 iobase = self->io.fir_base;
1000 /* Request IRQ and install Interrupt Handler */
1001 - if (request_irq(self->io.irq, ali_ircc_interrupt, 0, dev->name, dev))
1002 + if (request_irq(self->io.irq, ali_ircc_interrupt,
1003 + SA_SAMPLE_NET_RANDOM, dev->name, dev))
1005 WARNING("%s, unable to allocate irq=%d\n", driver_name,
1007 diff -urN linux-2.4.10/drivers/net/irda/irport.c linux/drivers/net/irda/irport.c
1008 --- linux-2.4.10/drivers/net/irda/irport.c Fri Sep 21 15:26:25 2001
1009 +++ linux/drivers/net/irda/irport.c Fri Sep 21 15:27:56 2001
1012 iobase = self->io.sir_base;
1014 - if (request_irq(self->io.irq, self->interrupt, 0, dev->name,
1016 + if (request_irq(self->io.irq, self->interrupt,
1017 + SA_SAMPLE_NET_RANDOM, dev->name, (void *) dev)) {
1018 IRDA_DEBUG(0, __FUNCTION__ "(), unable to allocate irq=%d\n",
1021 diff -urN linux-2.4.10/drivers/net/irda/nsc-ircc.c linux/drivers/net/irda/nsc-ircc.c
1022 --- linux-2.4.10/drivers/net/irda/nsc-ircc.c Fri Sep 21 15:26:27 2001
1023 +++ linux/drivers/net/irda/nsc-ircc.c Fri Sep 21 15:27:56 2001
1024 @@ -1848,7 +1848,8 @@
1026 iobase = self->io.fir_base;
1028 - if (request_irq(self->io.irq, nsc_ircc_interrupt, 0, dev->name, dev)) {
1029 + if (request_irq(self->io.irq, nsc_ircc_interrupt,
1030 + SA_SAMPLE_NET_RANDOM, dev->name, dev)) {
1031 WARNING("%s, unable to allocate irq=%d\n", driver_name,
1034 diff -urN linux-2.4.10/drivers/net/irda/toshoboe.c linux/drivers/net/irda/toshoboe.c
1035 --- linux-2.4.10/drivers/net/irda/toshoboe.c Fri Sep 21 15:26:27 2001
1036 +++ linux/drivers/net/irda/toshoboe.c Fri Sep 21 15:27:56 2001
1040 if (request_irq (self->io.irq, toshoboe_interrupt,
1041 - SA_SHIRQ | SA_INTERRUPT, dev->name, (void *) self))
1042 + SA_SHIRQ | SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
1043 + dev->name, (void *) self))
1047 diff -urN linux-2.4.10/drivers/net/irda/vlsi_ir.c linux/drivers/net/irda/vlsi_ir.c
1048 --- linux-2.4.10/drivers/net/irda/vlsi_ir.c Fri Sep 21 15:26:28 2001
1049 +++ linux/drivers/net/irda/vlsi_ir.c Fri Sep 21 15:27:56 2001
1054 - if (request_irq(ndev->irq, vlsi_interrupt, SA_SHIRQ|SA_INTERRUPT,
1055 + if (request_irq(ndev->irq, vlsi_interrupt,
1056 + SA_SHIRQ|SA_INTERRUPT|SA_SAMPLE_NET_RANDOM,
1057 drivername, ndev)) {
1058 printk(KERN_ERR "%s: couldn't get IRQ: %d\n",
1059 __FUNCTION__, ndev->irq);
1060 diff -urN linux-2.4.10/drivers/net/isa-skeleton.c linux/drivers/net/isa-skeleton.c
1061 --- linux-2.4.10/drivers/net/isa-skeleton.c Fri Sep 21 15:26:28 2001
1062 +++ linux/drivers/net/isa-skeleton.c Fri Sep 21 15:27:56 2001
1067 - int irqval = request_irq(dev->irq, &net_interrupt, 0, cardname, dev);
1068 + int irqval = request_irq(dev->irq, &net_interrupt,
1069 + SA_SAMPLE_NET_RANDOM, cardname, dev);
1071 printk("%s: unable to get IRQ %d (irqval=%d).\n",
1072 dev->name, dev->irq, irqval);
1073 diff -urN linux-2.4.10/drivers/net/lance.c linux/drivers/net/lance.c
1074 --- linux-2.4.10/drivers/net/lance.c Fri Sep 21 15:26:24 2001
1075 +++ linux/drivers/net/lance.c Fri Sep 21 15:27:56 2001
1079 if (dev->irq == 0 ||
1080 - request_irq(dev->irq, &lance_interrupt, 0, lp->name, dev)) {
1081 + request_irq(dev->irq, &lance_interrupt,
1082 + SA_SAMPLE_NET_RANDOM, lp->name, dev)) {
1086 diff -urN linux-2.4.10/drivers/net/lasi_82596.c linux/drivers/net/lasi_82596.c
1087 --- linux-2.4.10/drivers/net/lasi_82596.c Fri Sep 21 15:26:28 2001
1088 +++ linux/drivers/net/lasi_82596.c Fri Sep 21 15:27:56 2001
1093 - if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
1094 + if (request_irq(dev->irq, &i596_interrupt, SA_SAMPLE_NET_RANDOM,
1096 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1099 diff -urN linux-2.4.10/drivers/net/lne390.c linux/drivers/net/lne390.c
1100 --- linux-2.4.10/drivers/net/lne390.c Fri Sep 21 15:26:25 2001
1101 +++ linux/drivers/net/lne390.c Fri Sep 21 15:27:56 2001
1104 printk(" IRQ %d,", dev->irq);
1106 - if ((ret = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
1107 + if ((ret = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1108 + dev->name, dev))) {
1109 printk (" unable to get IRQ %d.\n", dev->irq);
1112 diff -urN linux-2.4.10/drivers/net/lp486e.c linux/drivers/net/lp486e.c
1113 --- linux-2.4.10/drivers/net/lp486e.c Fri Sep 21 15:26:28 2001
1114 +++ linux/drivers/net/lp486e.c Fri Sep 21 15:27:56 2001
1116 i596_open(struct net_device *dev) {
1119 - i = request_irq(dev->irq, &i596_interrupt, SA_SHIRQ, dev->name, dev);
1120 + i = request_irq(dev->irq, &i596_interrupt,
1121 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1123 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1125 diff -urN linux-2.4.10/drivers/net/mac89x0.c linux/drivers/net/mac89x0.c
1126 --- linux-2.4.10/drivers/net/mac89x0.c Fri Sep 21 15:26:28 2001
1127 +++ linux/drivers/net/mac89x0.c Fri Sep 21 15:27:56 2001
1129 writereg(dev, PP_BusCTL, readreg(dev, PP_BusCTL) & ~ENABLE_IRQ);
1131 /* Grab the interrupt */
1132 - if (request_irq(dev->irq, &net_interrupt, 0, "cs89x0", dev))
1133 + if (request_irq(dev->irq, &net_interrupt, SA_SAMPLE_NET_RANDOM,
1137 /* Set up the IRQ - Apparently magic */
1138 diff -urN linux-2.4.10/drivers/net/mace.c linux/drivers/net/mace.c
1139 --- linux-2.4.10/drivers/net/mace.c Fri Sep 21 15:26:25 2001
1140 +++ linux/drivers/net/mace.c Fri Sep 21 15:27:56 2001
1141 @@ -210,13 +210,14 @@
1145 - if (request_irq(dev->irq, mace_interrupt, 0, "MACE", dev))
1146 + if (request_irq(dev->irq, mace_interrupt, SA_SAMPLE_NET_RANDOM,
1148 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1149 - if (request_irq(mace->intrs[1].line, mace_txdma_intr, 0, "MACE-txdma",
1151 + if (request_irq(mace->intrs[1].line, mace_txdma_intr,
1152 + SA_SAMPLE_NET_RANDOM, "MACE-txdma", dev))
1153 printk(KERN_ERR "MACE: can't get irq %d\n", mace->intrs[1].line);
1154 - if (request_irq(mace->intrs[2].line, mace_rxdma_intr, 0, "MACE-rxdma",
1156 + if (request_irq(mace->intrs[2].line, mace_rxdma_intr,
1157 + SA_SAMPLE_NET_RANDOM, "MACE-rxdma", dev))
1158 printk(KERN_ERR "MACE: can't get irq %d\n", mace->intrs[2].line);
1160 mp->next_mace = mace_devs;
1161 diff -urN linux-2.4.10/drivers/net/macmace.c linux/drivers/net/macmace.c
1162 --- linux-2.4.10/drivers/net/macmace.c Fri Sep 21 15:26:28 2001
1163 +++ linux/drivers/net/macmace.c Fri Sep 21 15:27:56 2001
1165 * The interrupt is fixed and comes off the PSC.
1168 - if (request_irq(dev->irq, mace68k_interrupt, 0, "68K MACE", dev))
1169 + if (request_irq(dev->irq, mace68k_interrupt,
1170 + SA_SAMPLE_NET_RANDOM, "68K MACE", dev))
1172 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1174 diff -urN linux-2.4.10/drivers/net/myri_sbus.c linux/drivers/net/myri_sbus.c
1175 --- linux-2.4.10/drivers/net/myri_sbus.c Fri Sep 21 15:26:25 2001
1176 +++ linux/drivers/net/myri_sbus.c Fri Sep 21 15:27:56 2001
1177 @@ -1062,7 +1062,8 @@
1178 /* Register interrupt handler now. */
1179 DET(("Requesting MYRIcom IRQ line.\n"));
1180 if (request_irq(dev->irq, &myri_interrupt,
1181 - SA_SHIRQ, "MyriCOM Ethernet", (void *) dev)) {
1182 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "MyriCOM Ethernet",
1184 printk("MyriCOM: Cannot register interrupt handler.\n");
1187 diff -urN linux-2.4.10/drivers/net/natsemi.c linux/drivers/net/natsemi.c
1188 --- linux-2.4.10/drivers/net/natsemi.c Fri Sep 21 15:26:28 2001
1189 +++ linux/drivers/net/natsemi.c Fri Sep 21 15:27:56 2001
1191 /* Reset the chip, just in case. */
1194 - i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1195 + i = request_irq(dev->irq, &intr_handler,
1196 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1200 diff -urN linux-2.4.10/drivers/net/ne.c linux/drivers/net/ne.c
1201 --- linux-2.4.10/drivers/net/ne.c Fri Sep 21 15:26:24 2001
1202 +++ linux/drivers/net/ne.c Fri Sep 21 15:28:17 2001
1205 /* Snarf the interrupt now. There's no point in waiting since we cannot
1206 share and the board will usually be enabled. */
1207 - ret = request_irq(dev->irq, ei_interrupt, 0, name, dev);
1208 + ret = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1211 printk (" unable to get IRQ %d (errno=%d).\n", dev->irq, ret);
1213 diff -urN linux-2.4.10/drivers/net/ne2.c linux/drivers/net/ne2.c
1214 --- linux-2.4.10/drivers/net/ne2.c Fri Sep 21 15:26:28 2001
1215 +++ linux/drivers/net/ne2.c Fri Sep 21 15:28:17 2001
1218 /* Snarf the interrupt now. There's no point in waiting since we cannot
1219 share and the board will usually be enabled. */
1220 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1221 + retval = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1224 printk (" unable to get IRQ %d (irqval=%d).\n",
1226 diff -urN linux-2.4.10/drivers/net/ne2k-pci.c linux/drivers/net/ne2k-pci.c
1227 --- linux-2.4.10/drivers/net/ne2k-pci.c Fri Sep 21 15:26:25 2001
1228 +++ linux/drivers/net/ne2k-pci.c Fri Sep 21 15:28:17 2001
1231 static int ne2k_pci_open(struct net_device *dev)
1233 - int ret = request_irq(dev->irq, ei_interrupt, SA_SHIRQ, dev->name, dev);
1234 + int ret = request_irq(dev->irq, ei_interrupt,
1235 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1239 diff -urN linux-2.4.10/drivers/net/ne3210.c linux/drivers/net/ne3210.c
1240 --- linux-2.4.10/drivers/net/ne3210.c Fri Sep 21 15:26:25 2001
1241 +++ linux/drivers/net/ne3210.c Fri Sep 21 15:28:17 2001
1244 printk(" IRQ %d,", dev->irq);
1246 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1247 + retval = request_irq(dev->irq, ei_interrupt,
1248 + SA_SAMPLE_NET_RANDOM, dev->name, dev);
1250 printk (" unable to get IRQ %d.\n", dev->irq);
1252 diff -urN linux-2.4.10/drivers/net/ni5010.c linux/drivers/net/ni5010.c
1253 --- linux-2.4.10/drivers/net/ni5010.c Fri Sep 21 15:26:25 2001
1254 +++ linux/drivers/net/ni5010.c Fri Sep 21 15:28:17 2001
1257 PRINTK2((KERN_DEBUG "%s: entering ni5010_open()\n", dev->name));
1259 - if (request_irq(dev->irq, &ni5010_interrupt, 0, boardname, dev)) {
1260 + if (request_irq(dev->irq, &ni5010_interrupt, SA_SAMPLE_NET_RANDOM,
1261 + boardname, dev)) {
1262 printk(KERN_WARNING "%s: Cannot get irq %#2x\n", dev->name, dev->irq);
1265 diff -urN linux-2.4.10/drivers/net/ni52.c linux/drivers/net/ni52.c
1266 --- linux-2.4.10/drivers/net/ni52.c Fri Sep 21 15:26:24 2001
1267 +++ linux/drivers/net/ni52.c Fri Sep 21 15:28:17 2001
1272 - ret = request_irq(dev->irq, &ni52_interrupt,0,dev->name,dev);
1273 + ret = request_irq(dev->irq, &ni52_interrupt,SA_SAMPLE_NET_RANDOM,
1278 diff -urN linux-2.4.10/drivers/net/ni65.c linux/drivers/net/ni65.c
1279 --- linux-2.4.10/drivers/net/ni65.c Fri Sep 21 15:26:24 2001
1280 +++ linux/drivers/net/ni65.c Fri Sep 21 15:28:17 2001
1282 static int ni65_open(struct net_device *dev)
1284 struct priv *p = (struct priv *) dev->priv;
1285 - int irqval = request_irq(dev->irq, &ni65_interrupt,0,
1286 + int irqval = request_irq(dev->irq, &ni65_interrupt,SA_SAMPLE_NET_RANDOM,
1287 cards[p->cardno].cardname,dev);
1289 printk ("%s: unable to get IRQ %d (irqval=%d).\n",
1290 diff -urN linux-2.4.10/drivers/net/ns83820.c linux/drivers/net/ns83820.c
1291 --- linux-2.4.10/drivers/net/ns83820.c Fri Sep 21 15:26:25 2001
1292 +++ linux/drivers/net/ns83820.c Fri Sep 21 15:28:17 2001
1293 @@ -1229,8 +1229,8 @@
1294 setup_ee_mem_bitbanger(&dev->ee, (long)dev->base + MEAR, 3, 2, 1, 0,
1297 - err = request_irq(pci_dev->irq, ns83820_irq, SA_SHIRQ,
1298 - dev->net_dev.name, dev);
1299 + err = request_irq(pci_dev->irq, ns83820_irq,
1300 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->net_dev.name, dev);
1302 printk(KERN_INFO "ns83820: unable to register irq %d\n",
1304 diff -urN linux-2.4.10/drivers/net/oaknet.c linux/drivers/net/oaknet.c
1305 --- linux-2.4.10/drivers/net/oaknet.c Fri Sep 21 15:26:25 2001
1306 +++ linux/drivers/net/oaknet.c Fri Sep 21 15:28:17 2001
1308 /* Attempt to get the interrupt line */
1311 - if (request_irq(dev->irq, ei_interrupt, 0, name, dev)) {
1312 + if (request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1314 printk("%s: unable to request interrupt %d.\n",
1315 dev->name, dev->irq);
1317 diff -urN linux-2.4.10/drivers/net/pci-skeleton.c linux/drivers/net/pci-skeleton.c
1318 --- linux-2.4.10/drivers/net/pci-skeleton.c Fri Sep 21 15:26:28 2001
1319 +++ linux/drivers/net/pci-skeleton.c Fri Sep 21 15:28:17 2001
1320 @@ -1085,7 +1085,8 @@
1322 DPRINTK ("ENTER\n");
1324 - retval = request_irq (dev->irq, netdrv_interrupt, SA_SHIRQ, dev->name, dev);
1325 + retval = request_irq (dev->irq, netdrv_interrupt,
1326 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1328 DPRINTK ("EXIT, returning %d\n", retval);
1330 diff -urN linux-2.4.10/drivers/net/pcmcia/pcnet_cs.c linux/drivers/net/pcmcia/pcnet_cs.c
1331 --- linux-2.4.10/drivers/net/pcmcia/pcnet_cs.c Fri Sep 21 15:26:28 2001
1332 +++ linux/drivers/net/pcmcia/pcnet_cs.c Fri Sep 21 15:28:17 2001
1337 - request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
1338 + request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev_info, dev);
1340 info->link_status = 0x00;
1341 info->watchdog.function = &ei_watchdog;
1342 diff -urN linux-2.4.10/drivers/net/pcmcia/xircom_tulip_cb.c linux/drivers/net/pcmcia/xircom_tulip_cb.c
1343 --- linux-2.4.10/drivers/net/pcmcia/xircom_tulip_cb.c Fri Sep 21 15:26:28 2001
1344 +++ linux/drivers/net/pcmcia/xircom_tulip_cb.c Fri Sep 21 15:28:17 2001
1347 struct tulip_private *tp = (struct tulip_private *)dev->priv;
1349 - if (request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))
1350 + if (request_irq(dev->irq, &tulip_interrupt,
1351 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev))
1354 tulip_init_ring(dev);
1355 diff -urN linux-2.4.10/drivers/net/pcnet32.c linux/drivers/net/pcnet32.c
1356 --- linux-2.4.10/drivers/net/pcnet32.c Fri Sep 21 15:26:25 2001
1357 +++ linux/drivers/net/pcnet32.c Fri Sep 21 15:28:17 2001
1360 if (dev->irq == 0 ||
1361 request_irq(dev->irq, &pcnet32_interrupt,
1362 - lp->shared_irq ? SA_SHIRQ : 0, lp->name, (void *)dev)) {
1363 + lp->shared_irq ? SA_SHIRQ : 0 | SA_SAMPLE_NET_RANDOM,
1364 + lp->name, (void *)dev)) {
1368 diff -urN linux-2.4.10/drivers/net/rcpci45.c linux/drivers/net/rcpci45.c
1369 --- linux-2.4.10/drivers/net/rcpci45.c Fri Sep 21 15:26:28 2001
1370 +++ linux/drivers/net/rcpci45.c Fri Sep 21 15:28:17 2001
1372 dprintk ("(rcpci45 driver:) RCopen\n");
1374 /* Request a shared interrupt line. */
1375 - error = request_irq (dev->irq, RCinterrupt, SA_SHIRQ, dev->name, dev);
1376 + error = request_irq (dev->irq, RCinterrupt,
1377 + SA_SHIRQi | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1379 printk (KERN_ERR "(rcpci45 driver:) %s: unable to get IRQ %d\n",
1380 dev->name, dev->irq);
1381 diff -urN linux-2.4.10/drivers/net/rrunner.c linux/drivers/net/rrunner.c
1382 --- linux-2.4.10/drivers/net/rrunner.c Fri Sep 21 15:26:25 2001
1383 +++ linux/drivers/net/rrunner.c Fri Sep 21 15:28:17 2001
1384 @@ -1168,7 +1168,8 @@
1385 writel(readl(®s->HostCtrl)|HALT_NIC|RR_CLEAR_INT, ®s->HostCtrl);
1386 spin_unlock_irqrestore(&rrpriv->lock, flags);
1388 - if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ, rrpriv->name, dev))
1389 + if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1390 + rrpriv->name, dev))
1392 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
1393 dev->name, dev->irq);
1394 diff -urN linux-2.4.10/drivers/net/saa9730.c linux/drivers/net/saa9730.c
1395 --- linux-2.4.10/drivers/net/saa9730.c Fri Sep 21 15:26:28 2001
1396 +++ linux/drivers/net/saa9730.c Fri Sep 21 15:28:17 2001
1398 (struct lan_saa9730_private *) dev->priv;
1400 /* Associate IRQ with lan_saa9730_interrupt */
1401 - if (request_irq(dev->irq, &lan_saa9730_interrupt, 0, "SAA9730 Eth",
1403 + if (request_irq(dev->irq, &lan_saa9730_interrupt, SA_SAMPLE_NET_RANDOM,
1404 + "SAA9730 Eth", dev)) {
1405 printk("lan_saa9730_open: Can't get irq %d\n", dev->irq);
1408 diff -urN linux-2.4.10/drivers/net/sb1000.c linux/drivers/net/sb1000.c
1409 --- linux-2.4.10/drivers/net/sb1000.c Fri Sep 21 15:26:25 2001
1410 +++ linux/drivers/net/sb1000.c Fri Sep 21 15:28:17 2001
1412 lp->rx_frame_id[1] = 0;
1413 lp->rx_frame_id[2] = 0;
1414 lp->rx_frame_id[3] = 0;
1415 - if (request_irq(dev->irq, &sb1000_interrupt, 0, "sb1000", dev)) {
1416 + if (request_irq(dev->irq, &sb1000_interrupt, SA_SAMPLE_NET_RANDOM,
1421 diff -urN linux-2.4.10/drivers/net/seeq8005.c linux/drivers/net/seeq8005.c
1422 --- linux-2.4.10/drivers/net/seeq8005.c Fri Sep 21 15:26:24 2001
1423 +++ linux/drivers/net/seeq8005.c Fri Sep 21 15:28:17 2001
1425 struct net_local *lp = (struct net_local *)dev->priv;
1428 - int irqval = request_irq(dev->irq, &seeq8005_interrupt, 0, "seeq8005", dev);
1429 + int irqval = request_irq(dev->irq, &seeq8005_interrupt, SA_SAMPLE_NET_RANDOM, "seeq8005", dev);
1431 printk ("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1433 diff -urN linux-2.4.10/drivers/net/sgiseeq.c linux/drivers/net/sgiseeq.c
1434 --- linux-2.4.10/drivers/net/sgiseeq.c Fri Sep 21 15:26:25 2001
1435 +++ linux/drivers/net/sgiseeq.c Fri Sep 21 15:28:17 2001
1439 save_flags(flags); cli();
1440 - if (request_irq(dev->irq, sgiseeq_interrupt, 0, sgiseeqstr, (void *) dev)) {
1441 + if (request_irq(dev->irq, sgiseeq_interrupt, SA_SAMPLE_NET_RANDOM,
1442 + sgiseeqstr, (void *) dev)) {
1443 printk("Seeq8003: Can't get irq %d\n", dev->irq);
1444 restore_flags(flags);
1446 diff -urN linux-2.4.10/drivers/net/sis900.c linux/drivers/net/sis900.c
1447 --- linux-2.4.10/drivers/net/sis900.c Fri Sep 21 15:26:25 2001
1448 +++ linux/drivers/net/sis900.c Fri Sep 21 15:28:17 2001
1450 pci_read_config_byte(sis_priv->pci_dev, PCI_CLASS_REVISION, &revision);
1451 sis630_set_eq(net_dev, revision);
1453 - ret = request_irq(net_dev->irq, &sis900_interrupt, SA_SHIRQ, net_dev->name, net_dev);
1454 + ret = request_irq(net_dev->irq, &sis900_interrupt,
1455 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1456 + net_dev->name, net_dev);
1460 diff -urN linux-2.4.10/drivers/net/sk98lin/skge.c linux/drivers/net/sk98lin/skge.c
1461 --- linux-2.4.10/drivers/net/sk98lin/skge.c Fri Sep 21 15:26:28 2001
1462 +++ linux/drivers/net/sk98lin/skge.c Fri Sep 21 15:28:17 2001
1463 @@ -861,10 +861,11 @@
1464 spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);
1466 if (pAC->GIni.GIMacsFound == 2) {
1467 - Ret = request_irq(dev->irq, SkGeIsr, SA_SHIRQ, pAC->Name, dev);
1468 + Ret = request_irq(dev->irq, SkGeIsr,
1469 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, pAC->Name, dev);
1470 } else if (pAC->GIni.GIMacsFound == 1) {
1471 - Ret = request_irq(dev->irq, SkGeIsrOnePort, SA_SHIRQ,
1473 + Ret = request_irq(dev->irq, SkGeIsrOnePort,
1474 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, pAC->Name, dev);
1476 printk(KERN_WARNING "%s: illegal number of ports: %d\n",
1477 dev->name, pAC->GIni.GIMacsFound);
1478 diff -urN linux-2.4.10/drivers/net/sk_g16.c linux/drivers/net/sk_g16.c
1479 --- linux-2.4.10/drivers/net/sk_g16.c Fri Sep 21 15:26:24 2001
1480 +++ linux/drivers/net/sk_g16.c Fri Sep 21 15:28:17 2001
1485 - irqval = request_irq(irqtab[i], &SK_interrupt, 0, "sk_g16", dev);
1486 + irqval = request_irq(irqtab[i], &SK_interrupt, SA_SAMPLE_NET_RANDOM,
1489 } while (irqval && irqtab[i]);
1491 diff -urN linux-2.4.10/drivers/net/sk_mca.c linux/drivers/net/sk_mca.c
1492 --- linux-2.4.10/drivers/net/sk_mca.c Fri Sep 21 15:26:24 2001
1493 +++ linux/drivers/net/sk_mca.c Fri Sep 21 15:28:17 2001
1495 /* register resources - only necessary for IRQ */
1497 request_irq(priv->realirq, irq_handler,
1498 - SA_SHIRQ | SA_SAMPLE_RANDOM, "sk_mca", dev);
1499 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "sk_mca", dev);
1501 printk("%s: failed to register irq %d\n", dev->name,
1503 diff -urN linux-2.4.10/drivers/net/skfp/skfddi.c linux/drivers/net/skfp/skfddi.c
1504 --- linux-2.4.10/drivers/net/skfp/skfddi.c Fri Sep 21 15:26:25 2001
1505 +++ linux/drivers/net/skfp/skfddi.c Fri Sep 21 15:28:17 2001
1508 PRINTK(KERN_INFO "entering skfp_open\n");
1509 /* Register IRQ - support shared interrupts by passing device ptr */
1510 - if (request_irq(dev->irq, (void *) skfp_interrupt, SA_SHIRQ,
1511 - dev->name, dev)) {
1512 + if (request_irq(dev->irq, (void *) skfp_interrupt,
1513 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)) {
1514 printk("%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
1517 diff -urN linux-2.4.10/drivers/net/smc-mca.c linux/drivers/net/smc-mca.c
1518 --- linux-2.4.10/drivers/net/smc-mca.c Fri Sep 21 15:26:25 2001
1519 +++ linux/drivers/net/smc-mca.c Fri Sep 21 15:28:17 2001
1521 int ioaddr = dev->base_addr - ULTRA_NIC_OFFSET; /* ASIC addr */
1524 - if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev)))
1525 + if ((retval = request_irq(dev->irq, ei_interrupt,
1526 + SA_SAMPLE_NET_RANDOM, dev->name, dev)))
1529 outb(ULTRA_MEMENB, ioaddr); /* Enable memory */
1530 diff -urN linux-2.4.10/drivers/net/smc-ultra.c linux/drivers/net/smc-ultra.c
1531 --- linux-2.4.10/drivers/net/smc-ultra.c Fri Sep 21 15:26:24 2001
1532 +++ linux/drivers/net/smc-ultra.c Fri Sep 21 15:28:17 2001
1534 unsigned char irq2reg[] = {0, 0, 0x04, 0x08, 0, 0x0C, 0, 0x40,
1535 0, 0x04, 0x44, 0x48, 0, 0, 0, 0x4C, };
1537 - retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1538 + retval = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1543 diff -urN linux-2.4.10/drivers/net/smc-ultra32.c linux/drivers/net/smc-ultra32.c
1544 --- linux-2.4.10/drivers/net/smc-ultra32.c Fri Sep 21 15:26:25 2001
1545 +++ linux/drivers/net/smc-ultra32.c Fri Sep 21 15:28:17 2001
1547 int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ;
1550 + irq_flags |= SA_SAMPLE_NET_RANDOM;
1552 retval = request_irq(dev->irq, ei_interrupt, irq_flags, dev->name, dev);
1555 diff -urN linux-2.4.10/drivers/net/smc9194.c linux/drivers/net/smc9194.c
1556 --- linux-2.4.10/drivers/net/smc9194.c Fri Sep 21 15:26:24 2001
1557 +++ linux/drivers/net/smc9194.c Fri Sep 21 15:28:17 2001
1558 @@ -1017,7 +1017,7 @@
1562 - retval = request_irq(dev->irq, &smc_interrupt, 0, dev->name, dev);
1563 + retval = request_irq(dev->irq, &smc_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev);
1565 printk("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1567 diff -urN linux-2.4.10/drivers/net/sonic.c linux/drivers/net/sonic.c
1568 --- linux-2.4.10/drivers/net/sonic.c Fri Sep 21 15:26:25 2001
1569 +++ linux/drivers/net/sonic.c Fri Sep 21 15:28:17 2001
1571 * this glue works ok under all situations.
1573 // if (sonic_request_irq(dev->irq, &sonic_interrupt, 0, "sonic", dev)) {
1574 - if (sonic_request_irq(dev->irq, &sonic_interrupt, SA_INTERRUPT, "sonic", dev)) {
1575 + if (sonic_request_irq(dev->irq, &sonic_interrupt,
1576 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, "sonic", dev)) {
1577 printk ("\n%s: unable to get IRQ %d .\n", dev->name, dev->irq);
1580 diff -urN linux-2.4.10/drivers/net/starfire.c linux/drivers/net/starfire.c
1581 --- linux-2.4.10/drivers/net/starfire.c Fri Sep 21 15:26:25 2001
1582 +++ linux/drivers/net/starfire.c Fri Sep 21 15:28:17 2001
1585 COMPAT_MOD_INC_USE_COUNT;
1587 - retval = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1588 + retval = request_irq(dev->irq, &intr_handler,
1589 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1591 COMPAT_MOD_DEC_USE_COUNT;
1593 diff -urN linux-2.4.10/drivers/net/stnic.c linux/drivers/net/stnic.c
1594 --- linux-2.4.10/drivers/net/stnic.c Fri Sep 21 15:26:25 2001
1595 +++ linux/drivers/net/stnic.c Fri Sep 21 15:28:17 2001
1598 /* Snarf the interrupt now. There's no point in waiting since we cannot
1599 share and the board will usually be enabled. */
1600 - i = request_irq (dev->irq, ei_interrupt, 0, dev->name, dev);
1601 + i = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev);
1603 printk (KERN_EMERG " unable to get IRQ %d.\n", dev->irq);
1604 unregister_netdev(dev);
1605 diff -urN linux-2.4.10/drivers/net/sun3lance.c linux/drivers/net/sun3lance.c
1606 --- linux-2.4.10/drivers/net/sun3lance.c Fri Sep 21 15:26:28 2001
1607 +++ linux/drivers/net/sun3lance.c Fri Sep 21 15:28:17 2001
1610 REGA(CSR0) = CSR0_STOP;
1612 - request_irq(LANCE_IRQ, lance_interrupt, 0, "SUN3 Lance", dev);
1613 + request_irq(LANCE_IRQ, lance_interrupt, SA_SAMPLE_NET_RANDOM,
1614 + "SUN3 Lance", dev);
1615 dev->irq = (unsigned short)LANCE_IRQ;
1618 diff -urN linux-2.4.10/drivers/net/sunbmac.c linux/drivers/net/sunbmac.c
1619 --- linux-2.4.10/drivers/net/sunbmac.c Fri Sep 21 15:26:28 2001
1620 +++ linux/drivers/net/sunbmac.c Fri Sep 21 15:28:17 2001
1622 struct bigmac *bp = (struct bigmac *) dev->priv;
1625 - ret = request_irq(dev->irq, &bigmac_interrupt, SA_SHIRQ, dev->name, bp);
1626 + ret = request_irq(dev->irq, &bigmac_interrupt,
1627 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, bp);
1629 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq);
1631 diff -urN linux-2.4.10/drivers/net/sundance.c linux/drivers/net/sundance.c
1632 --- linux-2.4.10/drivers/net/sundance.c Fri Sep 21 15:26:28 2001
1633 +++ linux/drivers/net/sundance.c Fri Sep 21 15:28:17 2001
1636 /* Do we need to reset the chip??? */
1638 - i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1639 + i = request_irq(dev->irq, &intr_handler,
1640 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1644 diff -urN linux-2.4.10/drivers/net/sungem.c linux/drivers/net/sungem.c
1645 --- linux-2.4.10/drivers/net/sungem.c Fri Sep 21 15:26:28 2001
1646 +++ linux/drivers/net/sungem.c Fri Sep 21 15:28:17 2001
1647 @@ -1334,7 +1334,8 @@
1648 del_timer(&gp->link_timer);
1650 if (request_irq(gp->pdev->irq, gem_interrupt,
1651 - SA_SHIRQ, dev->name, (void *)dev))
1652 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1653 + dev->name, (void *)dev))
1657 diff -urN linux-2.4.10/drivers/net/sunhme.c linux/drivers/net/sunhme.c
1658 --- linux-2.4.10/drivers/net/sunhme.c Fri Sep 21 15:26:24 2001
1659 +++ linux/drivers/net/sunhme.c Fri Sep 21 15:28:17 2001
1660 @@ -2217,7 +2217,8 @@
1662 if ((hp->happy_flags & (HFLAG_QUATTRO|HFLAG_PCI)) != HFLAG_QUATTRO) {
1663 if (request_irq(dev->irq, &happy_meal_interrupt,
1664 - SA_SHIRQ, "HAPPY MEAL", (void *)dev)) {
1665 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1666 + "HAPPY MEAL", (void *)dev)) {
1669 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %s to go.\n",
1670 diff -urN linux-2.4.10/drivers/net/sunlance.c linux/drivers/net/sunlance.c
1671 --- linux-2.4.10/drivers/net/sunlance.c Fri Sep 21 15:26:24 2001
1672 +++ linux/drivers/net/sunlance.c Fri Sep 21 15:28:17 2001
1677 - if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ,
1678 + if (request_irq(dev->irq, &lance_interrupt,
1679 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1680 lancestr, (void *) dev)) {
1681 printk(KERN_ERR "Lance: Can't get irq %s\n", __irq_itoa(dev->irq));
1683 diff -urN linux-2.4.10/drivers/net/sunqe.c linux/drivers/net/sunqe.c
1684 --- linux-2.4.10/drivers/net/sunqe.c Fri Sep 21 15:26:25 2001
1685 +++ linux/drivers/net/sunqe.c Fri Sep 21 15:28:17 2001
1689 if (request_irq(sdev->irqs[0], &qec_interrupt,
1690 - SA_SHIRQ, "QuadEther", (void *) qecp)) {
1691 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1692 + "QuadEther", (void *) qecp)) {
1693 printk(KERN_ERR "QuadEther: Can't register QEC master irq handler.\n");
1696 diff -urN linux-2.4.10/drivers/net/tlan.c linux/drivers/net/tlan.c
1697 --- linux-2.4.10/drivers/net/tlan.c Fri Sep 21 15:26:24 2001
1698 +++ linux/drivers/net/tlan.c Fri Sep 21 15:28:17 2001
1702 priv->tlanRev = TLan_DioRead8( dev->base_addr, TLAN_DEF_REVISION );
1703 - err = request_irq( dev->irq, TLan_HandleInterrupt, SA_SHIRQ, TLanSignature, dev );
1704 + err = request_irq( dev->irq, TLan_HandleInterrupt,
1705 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, TLanSignature, dev );
1708 printk(KERN_ERR "TLAN: Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq );
1709 diff -urN linux-2.4.10/drivers/net/tokenring/abyss.c linux/drivers/net/tokenring/abyss.c
1710 --- linux-2.4.10/drivers/net/tokenring/abyss.c Fri Sep 21 15:26:24 2001
1711 +++ linux/drivers/net/tokenring/abyss.c Fri Sep 21 15:28:17 2001
1716 - ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1718 + ret = request_irq(pdev->irq, tms380tr_interrupt,
1719 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1721 goto err_out_region;
1723 diff -urN linux-2.4.10/drivers/net/tokenring/ibmtr.c linux/drivers/net/tokenring/ibmtr.c
1724 --- linux-2.4.10/drivers/net/tokenring/ibmtr.c Fri Sep 21 15:26:24 2001
1725 +++ linux/drivers/net/tokenring/ibmtr.c Fri Sep 21 15:28:17 2001
1728 /* The PCMCIA has already got the interrupt line and the io port,
1729 so no chance of anybody else getting it - MLP */
1730 - if (request_irq(dev->irq = irq, &tok_interrupt, 0, "ibmtr", dev) != 0) {
1731 + if (request_irq(dev->irq = irq, &tok_interrupt,
1732 + SA_SAMPLE_NET_RANDOM, "ibmtr", dev) != 0) {
1733 DPRINTK("Could not grab irq %d. Halting Token Ring driver.\n",
1736 diff -urN linux-2.4.10/drivers/net/tokenring/lanstreamer.c linux/drivers/net/tokenring/lanstreamer.c
1737 --- linux-2.4.10/drivers/net/tokenring/lanstreamer.c Fri Sep 21 15:26:24 2001
1738 +++ linux/drivers/net/tokenring/lanstreamer.c Fri Sep 21 15:28:17 2001
1740 rc=streamer_reset(dev);
1743 - if (request_irq(dev->irq, &streamer_interrupt, SA_SHIRQ, "lanstreamer", dev)) {
1744 + if (request_irq(dev->irq, &streamer_interrupt,
1745 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "lanstreamer", dev)) {
1749 diff -urN linux-2.4.10/drivers/net/tokenring/madgemc.c linux/drivers/net/tokenring/madgemc.c
1750 --- linux-2.4.10/drivers/net/tokenring/madgemc.c Fri Sep 21 15:26:24 2001
1751 +++ linux/drivers/net/tokenring/madgemc.c Fri Sep 21 15:28:17 2001
1754 outb(0, dev->base_addr + MC_CONTROL_REG0); /* sanity */
1755 madgemc_setsifsel(dev, 1);
1756 - if(request_irq(dev->irq, madgemc_interrupt, SA_SHIRQ,
1758 + if(request_irq(dev->irq, madgemc_interrupt,
1759 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1763 madgemc_chipset_init(dev); /* enables interrupts! */
1764 diff -urN linux-2.4.10/drivers/net/tokenring/olympic.c linux/drivers/net/tokenring/olympic.c
1765 --- linux-2.4.10/drivers/net/tokenring/olympic.c Fri Sep 21 15:26:24 2001
1766 +++ linux/drivers/net/tokenring/olympic.c Fri Sep 21 15:28:17 2001
1768 char open_error[255] ;
1769 int i, open_finished = 1 ;
1771 - if(request_irq(dev->irq, &olympic_interrupt, SA_SHIRQ , "olympic", dev)) {
1772 + if(request_irq(dev->irq, &olympic_interrupt,
1773 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "olympic", dev)) {
1777 diff -urN linux-2.4.10/drivers/net/tokenring/smctr.c linux/drivers/net/tokenring/smctr.c
1778 --- linux-2.4.10/drivers/net/tokenring/smctr.c Fri Sep 21 15:26:24 2001
1779 +++ linux/drivers/net/tokenring/smctr.c Fri Sep 21 15:28:17 2001
1784 - if(request_irq(dev->irq, smctr_interrupt, SA_SHIRQ, smctr_name, dev))
1785 + if(request_irq(dev->irq, smctr_interrupt,
1786 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, smctr_name, dev))
1790 diff -urN linux-2.4.10/drivers/net/tokenring/tmsisa.c linux/drivers/net/tokenring/tmsisa.c
1791 --- linux-2.4.10/drivers/net/tokenring/tmsisa.c Fri Sep 21 15:26:24 2001
1792 +++ linux/drivers/net/tokenring/tmsisa.c Fri Sep 21 15:28:17 2001
1794 for(j = 0; irqlist[j] != 0; j++)
1796 dev->irq = irqlist[j];
1797 - if (!request_irq(dev->irq, tms380tr_interrupt, 0,
1798 - isa_cardname, dev))
1799 + if (!request_irq(dev->irq, tms380tr_interrupt,
1800 + SA_SAMPLE_NET_RANDOM, isa_cardname, dev))
1804 diff -urN linux-2.4.10/drivers/net/tokenring/tmspci.c linux/drivers/net/tokenring/tmspci.c
1805 --- linux-2.4.10/drivers/net/tokenring/tmspci.c Fri Sep 21 15:26:24 2001
1806 +++ linux/drivers/net/tokenring/tmspci.c Fri Sep 21 15:28:17 2001
1811 - ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1813 + ret = request_irq(pdev->irq, tms380tr_interrupt,
1814 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1816 goto err_out_region;
1818 diff -urN linux-2.4.10/drivers/net/tulip/tulip_core.c linux/drivers/net/tulip/tulip_core.c
1819 --- linux-2.4.10/drivers/net/tulip/tulip_core.c Fri Sep 21 15:26:28 2001
1820 +++ linux/drivers/net/tulip/tulip_core.c Fri Sep 21 15:28:17 2001
1825 - if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) {
1826 + if ((retval = request_irq(dev->irq, &tulip_interrupt,
1827 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1828 + dev->name, dev))) {
1832 diff -urN linux-2.4.10/drivers/net/via-rhine.c linux/drivers/net/via-rhine.c
1833 --- linux-2.4.10/drivers/net/via-rhine.c Fri Sep 21 15:26:25 2001
1834 +++ linux/drivers/net/via-rhine.c Fri Sep 21 15:28:17 2001
1836 /* Reset the chip. */
1837 writew(CmdReset, ioaddr + ChipCmd);
1839 - i = request_irq(np->pdev->irq, &via_rhine_interrupt, SA_SHIRQ, dev->name, dev);
1840 + i = request_irq(np->pdev->irq, &via_rhine_interrupt,
1841 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1845 diff -urN linux-2.4.10/drivers/net/wan/c101.c linux/drivers/net/wan/c101.c
1846 --- linux-2.4.10/drivers/net/wan/c101.c Fri Sep 21 15:26:24 2001
1847 +++ linux/drivers/net/wan/c101.c Fri Sep 21 15:28:17 2001
1850 memset(card, 0, sizeof(card_t));
1852 - if (request_irq(irq, sca_intr, 0, devname, card)) {
1853 + if (request_irq(irq, sca_intr, SA_SAMPLE_NET_RANDOM, devname, card)) {
1854 printk(KERN_ERR "c101: could not allocate IRQ\n");
1855 c101_destroy_card(card);
1857 diff -urN linux-2.4.10/drivers/net/wan/comx-hw-comx.c linux/drivers/net/wan/comx-hw-comx.c
1858 --- linux-2.4.10/drivers/net/wan/comx-hw-comx.c Fri Sep 21 15:26:24 2001
1859 +++ linux/drivers/net/wan/comx-hw-comx.c Fri Sep 21 15:28:17 2001
1861 if (check_region(dev->base_addr, hw->io_extent)) {
1864 - if (request_irq(dev->irq, COMX_interrupt, 0, dev->name,
1866 + if (request_irq(dev->irq, COMX_interrupt, SA_SAMPLE_NET_RANDOM,
1867 + dev->name, (void *)dev)) {
1868 printk(KERN_ERR "comx-hw-comx: unable to obtain irq %d\n", dev->irq);
1871 diff -urN linux-2.4.10/drivers/net/wan/comx-hw-locomx.c linux/drivers/net/wan/comx-hw-locomx.c
1872 --- linux-2.4.10/drivers/net/wan/comx-hw-locomx.c Fri Sep 21 15:26:24 2001
1873 +++ linux/drivers/net/wan/comx-hw-locomx.c Fri Sep 21 15:28:17 2001
1875 hw->board.chanA.irqs=&z8530_nop;
1876 hw->board.chanB.irqs=&z8530_nop;
1878 - if(request_irq(dev->irq, z8530_interrupt, SA_INTERRUPT,
1879 - dev->name, &hw->board)) {
1880 + if(request_irq(dev->irq, z8530_interrupt,
1881 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, dev->name, &hw->board)) {
1882 printk(KERN_ERR "%s: unable to obtain irq %d\n", dev->name,
1885 diff -urN linux-2.4.10/drivers/net/wan/comx-hw-mixcom.c linux/drivers/net/wan/comx-hw-mixcom.c
1886 --- linux-2.4.10/drivers/net/wan/comx-hw-mixcom.c Fri Sep 21 15:26:24 2001
1887 +++ linux/drivers/net/wan/comx-hw-mixcom.c Fri Sep 21 15:28:17 2001
1891 if(hw->channel==0 && !(ch->init_status & IRQ_ALLOCATED)) {
1892 - if (request_irq(dev->irq, MIXCOM_interrupt, 0,
1893 - dev->name, (void *)dev)) {
1894 + if (request_irq(dev->irq, MIXCOM_interrupt,
1895 + SA_SAMPLE_NET_RANDOM, dev->name, (void *)dev)) {
1896 printk(KERN_ERR "MIXCOM: unable to obtain irq %d\n", dev->irq);
1898 goto err_release_region;
1899 diff -urN linux-2.4.10/drivers/net/wan/cosa.c linux/drivers/net/wan/cosa.c
1900 --- linux-2.4.10/drivers/net/wan/cosa.c Fri Sep 21 15:26:24 2001
1901 +++ linux/drivers/net/wan/cosa.c Fri Sep 21 15:28:17 2001
1903 cosa->nchannels = 2; /* FIXME: how to determine this? */
1905 request_region(base, is_8bit(cosa)?2:4, cosa->type);
1906 - if (request_irq(cosa->irq, cosa_interrupt, 0, cosa->type, cosa))
1907 + if (request_irq(cosa->irq, cosa_interrupt, SA_SAMPLE_NET_RANDOM,
1908 + cosa->type, cosa))
1910 if (request_dma(cosa->dma, cosa->type)) {
1911 free_irq(cosa->irq, cosa);
1912 diff -urN linux-2.4.10/drivers/net/wan/cycx_main.c linux/drivers/net/wan/cycx_main.c
1913 --- linux-2.4.10/drivers/net/wan/cycx_main.c Fri Sep 21 15:26:24 2001
1914 +++ linux/drivers/net/wan/cycx_main.c Fri Sep 21 15:28:17 2001
1917 irq = conf->irq == 2 ? 9 : conf->irq; /* IRQ2 -> IRQ9 */
1919 - if (request_irq(irq, cycx_isr, 0, wandev->name, card)) {
1920 + if (request_irq(irq, cycx_isr, SA_SAMPLE_NET_RANDOM,
1921 + wandev->name, card)) {
1922 printk(KERN_ERR "%s: can't reserve IRQ %d!\n",
1925 diff -urN linux-2.4.10/drivers/net/wan/dscc4.c linux/drivers/net/wan/dscc4.c
1926 --- linux-2.4.10/drivers/net/wan/dscc4.c Fri Sep 21 15:26:24 2001
1927 +++ linux/drivers/net/wan/dscc4.c Fri Sep 21 15:28:17 2001
1930 priv = (struct dscc4_pci_priv *)pci_get_drvdata(pdev);
1932 - if (request_irq(pdev->irq, &dscc4_irq, SA_SHIRQ, "dscc4", priv->root)) {
1933 + if (request_irq(pdev->irq, &dscc4_irq, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1934 + "dscc4", priv->root)) {
1935 printk(KERN_WARNING "dscc4: IRQ %d is busy\n", pdev->irq);
1936 goto err_out_iounmap;
1938 diff -urN linux-2.4.10/drivers/net/wan/farsync.c linux/drivers/net/wan/farsync.c
1939 --- linux-2.4.10/drivers/net/wan/farsync.c Fri Sep 21 15:26:24 2001
1940 +++ linux/drivers/net/wan/farsync.c Fri Sep 21 15:28:17 2001
1941 @@ -1737,7 +1737,8 @@
1942 card->state = FST_RESET;
1944 /* Register the interrupt handler */
1945 - if ( request_irq ( card->irq, fst_intr, SA_SHIRQ, FST_DEV_NAME, card ))
1946 + if ( request_irq ( card->irq, fst_intr, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1947 + FST_DEV_NAME, card ))
1950 printk_err ("Unable to register interrupt %d\n", card->irq );
1951 diff -urN linux-2.4.10/drivers/net/wan/hostess_sv11.c linux/drivers/net/wan/hostess_sv11.c
1952 --- linux-2.4.10/drivers/net/wan/hostess_sv11.c Fri Sep 21 15:26:24 2001
1953 +++ linux/drivers/net/wan/hostess_sv11.c Fri Sep 21 15:28:17 2001
1955 /* We want a fast IRQ for this device. Actually we'd like an even faster
1956 IRQ ;) - This is one driver RtLinux is made for */
1958 - if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "Hostess SV/11", dev)<0)
1959 + if(request_irq(irq, &z8530_interrupt,
1960 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
1961 + "Hostess SV/11", dev)<0)
1963 printk(KERN_WARNING "hostess: IRQ %d already in use.\n", irq);
1965 diff -urN linux-2.4.10/drivers/net/wan/lmc/lmc_main.c linux/drivers/net/wan/lmc/lmc_main.c
1966 --- linux-2.4.10/drivers/net/wan/lmc/lmc_main.c Fri Sep 21 15:26:24 2001
1967 +++ linux/drivers/net/wan/lmc/lmc_main.c Fri Sep 21 15:28:17 2001
1968 @@ -1178,7 +1178,8 @@
1971 /* Since we have to use PCI bus, this should work on x86,alpha,ppc */
1972 - if (request_irq (dev->irq, &lmc_interrupt, SA_SHIRQ, dev->name, dev)){
1973 + if (request_irq (dev->irq, &lmc_interrupt,
1974 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)){
1975 printk(KERN_WARNING "%s: could not get irq: %d\n", dev->name, dev->irq);
1976 lmc_trace(dev, "lmc_open irq failed out");
1978 diff -urN linux-2.4.10/drivers/net/wan/n2.c linux/drivers/net/wan/n2.c
1979 --- linux-2.4.10/drivers/net/wan/n2.c Fri Sep 21 15:26:24 2001
1980 +++ linux/drivers/net/wan/n2.c Fri Sep 21 15:28:17 2001
1985 - if (request_irq(irq, &sca_intr, 0, devname, card)) {
1986 + if (request_irq(irq, &sca_intr, SA_SAMPLE_NET_RANDOM, devname, card)) {
1987 printk(KERN_ERR "n2: could not allocate IRQ\n");
1988 n2_destroy_card(card);
1990 diff -urN linux-2.4.10/drivers/net/wan/sbni.c linux/drivers/net/wan/sbni.c
1991 --- linux-2.4.10/drivers/net/wan/sbni.c Fri Sep 21 15:26:24 2001
1992 +++ linux/drivers/net/wan/sbni.c Fri Sep 21 15:28:17 2001
1993 @@ -1168,7 +1168,8 @@
1997 - if( request_irq(dev->irq, sbni_interrupt, SA_SHIRQ, dev->name, dev) ) {
1998 + if( request_irq(dev->irq, sbni_interrupt,
1999 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev) ) {
2000 printk( KERN_ERR "%s: unable to get IRQ %d.\n",
2001 dev->name, dev->irq );
2003 diff -urN linux-2.4.10/drivers/net/wan/sdla.c linux/drivers/net/wan/sdla.c
2004 --- linux-2.4.10/drivers/net/wan/sdla.c Fri Sep 21 15:26:24 2001
2005 +++ linux/drivers/net/wan/sdla.c Fri Sep 21 15:28:17 2001
2006 @@ -1469,7 +1469,8 @@
2008 dev->irq = map->irq;
2010 - if (request_irq(dev->irq, &sdla_isr, 0, dev->name, dev))
2011 + if (request_irq(dev->irq, &sdla_isr, SA_SAMPLE_NET_RANDOM,
2015 if (flp->type == SDLA_S507)
2016 diff -urN linux-2.4.10/drivers/net/wan/sdlamain.c linux/drivers/net/wan/sdlamain.c
2017 --- linux-2.4.10/drivers/net/wan/sdlamain.c Fri Sep 21 15:26:24 2001
2018 +++ linux/drivers/net/wan/sdlamain.c Fri Sep 21 15:28:17 2001
2020 /* when using the S514 PCI adapter */
2022 if(request_irq(irq, sdla_isr,
2023 - (card->hw.type == SDLA_S514) ? SA_SHIRQ : 0,
2024 - wandev->name, card)){
2025 + (card->hw.type == SDLA_S514) ? SA_SHIRQ : 0 | SA_SAMPLE_NET_RANDOM, wandev->name, card)){
2027 printk(KERN_INFO "%s: Can't reserve IRQ %d!\n", wandev->name, irq);
2029 diff -urN linux-2.4.10/drivers/net/wan/sealevel.c linux/drivers/net/wan/sealevel.c
2030 --- linux-2.4.10/drivers/net/wan/sealevel.c Fri Sep 21 15:26:24 2001
2031 +++ linux/drivers/net/wan/sealevel.c Fri Sep 21 15:28:17 2001
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, "SeaLevel", dev)<0)
2037 + if(request_irq(irq, &z8530_interrupt,
2038 + SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, "SeaLevel", dev)<0)
2040 printk(KERN_WARNING "sealevel: IRQ %d already in use.\n", irq);
2042 diff -urN linux-2.4.10/drivers/net/wavelan.c linux/drivers/net/wavelan.c
2043 --- linux-2.4.10/drivers/net/wavelan.c Fri Sep 21 15:26:24 2001
2044 +++ linux/drivers/net/wavelan.c Fri Sep 21 15:28:17 2001
2045 @@ -3897,7 +3897,8 @@
2049 - if (request_irq(dev->irq, &wavelan_interrupt, 0, "WaveLAN", dev) != 0)
2050 + if (request_irq(dev->irq, &wavelan_interrupt, SA_SAMPLE_NET_RANDOM,
2051 + "WaveLAN", dev) != 0)
2053 #ifdef DEBUG_CONFIG_ERROR
2054 printk(KERN_WARNING "%s: wavelan_open(): invalid IRQ\n",
2055 diff -urN linux-2.4.10/drivers/net/wd.c linux/drivers/net/wd.c
2056 --- linux-2.4.10/drivers/net/wd.c Fri Sep 21 15:26:24 2001
2057 +++ linux/drivers/net/wd.c Fri Sep 21 15:28:17 2001
2060 /* Snarf the interrupt now. There's no point in waiting since we cannot
2061 share and the board will usually be enabled. */
2062 - i = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
2063 + i = request_irq(dev->irq, ei_interrupt,
2064 + SA_SAMPLE_NET_RANDOM, dev->name, dev);
2066 printk (" unable to get IRQ %d.\n", dev->irq);
2068 diff -urN linux-2.4.10/drivers/net/winbond-840.c linux/drivers/net/winbond-840.c
2069 --- linux-2.4.10/drivers/net/winbond-840.c Fri Sep 21 15:26:28 2001
2070 +++ linux/drivers/net/winbond-840.c Fri Sep 21 15:28:17 2001
2072 writel(0x00000001, ioaddr + PCIBusCfg); /* Reset */
2074 netif_device_detach(dev);
2075 - i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
2076 + i = request_irq(dev->irq, &intr_handler,
2077 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
2081 diff -urN linux-2.4.10/drivers/net/wireless/airo.c linux/drivers/net/wireless/airo.c
2082 --- linux-2.4.10/drivers/net/wireless/airo.c Fri Sep 21 15:26:28 2001
2083 +++ linux/drivers/net/wireless/airo.c Fri Sep 21 15:28:17 2001
2084 @@ -1138,7 +1138,8 @@
2085 goto err_out_unlink;
2087 rc = request_irq( dev->irq, airo_interrupt,
2088 - SA_SHIRQ | SA_INTERRUPT, dev->name, dev );
2089 + SA_SHIRQ | SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
2092 printk(KERN_ERR "airo: register interrupt %d failed, rc %d\n", irq, rc );
2093 goto err_out_unregister;
2094 diff -urN linux-2.4.10/drivers/net/wireless/airport.c linux/drivers/net/wireless/airport.c
2095 --- linux-2.4.10/drivers/net/wireless/airport.c Fri Sep 21 15:26:28 2001
2096 +++ linux/drivers/net/wireless/airport.c Fri Sep 21 15:28:17 2001
2098 /* Reset it before we get the interrupt */
2101 - if (request_irq(ndev->irq, dldwd_interrupt, 0, "Airport", (void *)priv)) {
2102 + if (request_irq(ndev->irq, dldwd_interrupt, SA_SAMPLE_NET_RANDOM,
2103 + "Airport", (void *)priv)) {
2104 printk(KERN_ERR "airport: Couldn't get IRQ %d\n", ndev->irq);
2107 diff -urN linux-2.4.10/drivers/net/yellowfin.c linux/drivers/net/yellowfin.c
2108 --- linux-2.4.10/drivers/net/yellowfin.c Fri Sep 21 15:26:25 2001
2109 +++ linux/drivers/net/yellowfin.c Fri Sep 21 15:28:17 2001
2111 /* Reset the chip. */
2112 outl(0x80000000, ioaddr + DMACtrl);
2114 - i = request_irq(dev->irq, &yellowfin_interrupt, SA_SHIRQ, dev->name, dev);
2115 + i = request_irq(dev->irq, &yellowfin_interrupt,
2116 + SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
2119 if (yellowfin_debug > 1)
2120 diff -urN linux-2.4.10/drivers/net/znet.c linux/drivers/net/znet.c
2121 --- linux-2.4.10/drivers/net/znet.c Fri Sep 21 15:26:24 2001
2122 +++ linux/drivers/net/znet.c Fri Sep 21 15:28:17 2001
2124 zn.lock = SPIN_LOCK_UNLOCKED;
2126 /* These should never fail. You can't add devices to a sealed box! */
2127 - if (request_irq(dev->irq, &znet_interrupt, 0, "ZNet", dev)
2128 + if (request_irq(dev->irq, &znet_interrupt, SA_SAMPLE_NET_RANDOM,
2130 || request_dma(zn.rx_dma,"ZNet rx")
2131 || request_dma(zn.tx_dma,"ZNet tx")) {
2132 printk(KERN_WARNING "%s: Not opened -- resource busy?!?\n", dev->name);