]> git.pld-linux.org Git - packages/kernel.git/blame - netdev-random-drivers-rml-2.4.18-1.patch
- [2.4.2x, 2.6.x] don't recursively crash in die() on CHRP/PReP machines
[packages/kernel.git] / netdev-random-drivers-rml-2.4.18-1.patch
CommitLineData
6ede67c3 1diff -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
4@@ -419,7 +419,8 @@
5 if (el_debug > 2)
6 printk("%s: Doing el_open()...", dev->name);
7
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)))
11 return retval;
12
13 spin_lock_irqsave(&lp->lock, flags);
14diff -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
17@@ -348,7 +348,7 @@
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))
23 break;
24 }
25 } while (*++irqp);
26@@ -357,7 +357,7 @@
27 return retval;
28 }
29 } else {
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))) {
32 return retval;
33 }
34 }
35diff -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
38@@ -906,7 +906,8 @@
39 /*
40 * install our interrupt service routine
41 */
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);
46 return retval;
47 }
48diff -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
51@@ -373,7 +373,8 @@
52
53 irq = inb(ioaddr + IRQ_CONFIG) & 0x0f;
54
55- irqval = request_irq(irq, &el16_interrupt, 0, dev->name, dev);
56+ irqval = request_irq(irq, &el16_interrupt, SA_NET_RANDOM,
57+ dev->name, dev);
58 if (irqval) {
59 printk ("unable to get IRQ %d (irqval=%d).\n", irq, irqval);
60 retval = -EAGAIN;
61diff -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
64@@ -573,7 +573,8 @@
65 outw(RxReset, ioaddr + EL3_CMD);
66 outw(SetStatusEnb | 0x00, ioaddr + EL3_CMD);
67
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);
71 if (i) return i;
72
73 EL3WINDOW(0);
74diff -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
77@@ -803,11 +803,13 @@
78 /* Corkscrew: Cannot share ISA resources. */
79 if (dev->irq == 0
80 || dev->dma == 0
81- || request_irq(dev->irq, &corkscrew_interrupt, 0,
82- vp->product_name, dev)) return -EAGAIN;
83+ || request_irq(dev->irq, &corkscrew_interrupt,
84+ SA_NET_RANDOM,
85+ vp->product_name, dev)) return -EAGAIN;
86 enable_dma(dev->dma);
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)) {
92 return -EAGAIN;
93 }
94diff -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
97@@ -289,8 +289,8 @@
98
99 elmc_id_attn586(); /* disable interrupts */
100
101- ret = request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM,
102- dev->name, dev);
103+ ret = request_irq(dev->irq, &elmc_interrupt,
104+ SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
105 if (ret) {
106 printk(KERN_ERR "%s: couldn't get irq %d\n", dev->name, dev->irq);
107 elmc_id_reset586();
108diff -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
111@@ -409,7 +409,7 @@
112 * Grab the IRQ
113 */
114
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);
117 if (i) {
118 release_region(dev->base_addr, MC32_IO_EXTENT);
119 printk(KERN_ERR "%s: unable to get IRQ %d.\n", dev->name, dev->irq);
120diff -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 @@
124
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);
131 goto out;
132 }
133diff -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
136@@ -463,7 +463,7 @@
137 DECLARE_LL;
138
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))
142 return -EAGAIN;
143
144 res = lance_reset(dev);
145diff -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
148@@ -980,7 +980,8 @@
149
150 cp_init_hw(cp);
151
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);
155 if (rc)
156 goto err_out_hw;
157
158diff -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;
163 #endif
164
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);
168 if (retval)
169 return retval;
170
171diff -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
174@@ -973,7 +973,8 @@
175
176 DEB(DEB_OPEN,printk("%s: i596_open() irq %d.\n", dev->name, dev->irq));
177
178- if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
179+ if (request_irq(dev->irq, &i596_interrupt, SA_NET_RANDOM,
180+ "i82596", dev)) {
181 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
182 return -EAGAIN;
183 }
184diff -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
187@@ -495,8 +495,8 @@
188 last_dev = dev;
189
190 /* Install the Interrupt handler */
191- ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt, SA_SHIRQ,
192- dev->name, dev);
193+ ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt,
194+ SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
195 if (ret) return ret;
196
197 /* Stop the Lance */
198diff -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
201@@ -173,7 +173,8 @@
202 printk(", assigning");
203 }
204
205- retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
206+ retval = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
207+ dev->name, dev);
208 if (retval) {
209 printk (" nothing! Unable to get IRQ %d.\n", dev->irq);
210 goto out1;
211diff -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 @@
215 goto init_error;
216 }
217
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);
221 if (ecode) {
222 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
223 dev->name, dev->irq);
224diff -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
227@@ -213,7 +213,7 @@
228 dev->watchdog_timeo = AWC_TX_TIMEOUT;
229
230
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);
233 if (i) {
234 kfree(dev->priv);
235 dev->priv = NULL;
236diff -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
239@@ -267,7 +267,8 @@
240
241 memset (&priv->stats, 0, sizeof (priv->stats));
242
243- ret = request_irq(dev->irq, am79c961_interrupt, 0, dev->name, dev);
244+ ret = request_irq(dev->irq, am79c961_interrupt, SA_NET_RANDOM,
245+ dev->name, dev);
246 if (ret)
247 return ret;
248
249diff -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
252@@ -287,7 +287,8 @@
253 dev->base_addr = ioaddr;
254
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);
259 if (i) return i;
260
261 /* Allocate dev->priv and fill in 8390 specific dev fields. */
262diff -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
265@@ -304,7 +304,8 @@
266
267 /* Reserve any actual interrupt. */
268 if(dev->irq) {
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);
272 if (retval)
273 goto err_out;
274 }
275diff -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 @@
279
280 if (irq) {
281 /* grab it and don't let go :-) */
282- (void) request_irq( irq, &ltpc_interrupt, 0, "ltpc", dev);
283+ (void) request_irq(irq, &ltpc_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 */
287 } else {
288diff -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
291@@ -121,7 +121,8 @@
292 int mirror_size;
293
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);
299 return -ENODEV;
300 }
301diff -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
304@@ -196,7 +196,8 @@
305 outb(dev->dev_addr[0], _XREG);
306
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);
313 return -ENODEV;
314diff -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
317@@ -236,7 +236,8 @@
318 int ioaddr = dev->base_addr;
319
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);
325 return -ENODEV;
326 }
327diff -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
330@@ -472,7 +472,8 @@
331 dev->dev_addr[0] = readb(lp->mem_start + 1);
332
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);
338 goto err_unmap;
339 }
340diff -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
343@@ -313,8 +313,8 @@
344
345 netif_start_queue(dev);
346
347- i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt, SA_SHIRQ,
348- dev->name, dev);
349+ i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt,
350+ SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
351 if (i) return i;
352
353 lance->RAP = CSR0; /* PCnet-ISA Controller Status */
354diff -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
357@@ -194,7 +194,8 @@
358 dev->irq = IRQ_AMIGA_PORTS;
359
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);
364 if (i) return i;
365
366 /* Allocate dev->priv and fill in 8390 specific dev fields. */
367diff -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 @@
371 return ret;
372
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,
376+ dev->name, dev);
377 if (ret)
378 {
379 printk(KERN_ERR "%s: unable to get IRQ %d .\n",
380diff -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
383@@ -439,7 +439,8 @@
384 lp->jumpered = is_fmv18x;
385 lp->mca_slot = slot;
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,
389+ dev->name, dev);
390 if (ret) {
391 printk (" AT1700 at %#3x is unusable due to a conflict on"
392 "IRQ %d.\n", ioaddr, irq);
393diff -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
396@@ -546,7 +546,8 @@
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;
405 }
406@@ -560,7 +561,8 @@
407 printk( "Lance: request for VME interrupt failed\n" );
408 return( 0 );
409 }
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);
414 dev->irq = irq;
415 }
416diff -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
419@@ -438,7 +438,8 @@
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,
425+ dev->name, dev);
426 if (ret)
427 return ret;
428
429diff -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
432@@ -819,7 +819,8 @@
433 }
434 netif_start_queue(dev);
435
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);
440 MOD_DEC_USE_COUNT;
441 return retval;
442diff -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
445@@ -622,7 +622,8 @@
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;
454 }
455diff -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; */
461
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,
464+ "BMAC-misc", dev);
465 if (ret) {
466 printk(KERN_ERR "BMAC: can't get irq %d\n", dev->irq);
467 goto err_out_iounmap_rx;
468 }
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);
472 if (ret) {
473 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[1].line);
474 goto err_out_irq0;
475 }
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);
479 if (ret) {
480 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[2].line);
481 goto err_out_irq1;
482diff -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 @@
486
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) {
491 dev->irq = i;
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);
496 #endif
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);
501 if (ret) {
502 if (net_debug)
503 printk(KERN_DEBUG "cs89x0: request_irq(%d) failed\n", dev->irq);
504diff -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
507@@ -643,7 +643,8 @@
508 /* - funaho@jurai.org (1999-05-17) */
509
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,
513+ dev->name, dev);
514 if (ret) {
515 printk ("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
516 return ret;
517diff -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 @@
521 lp->state = OPEN;
522 de4x5_dbg_open(dev);
523
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");
535 disable_ast(dev);
536 de4x5_free_rx_buffs(dev);
537diff -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
540@@ -344,7 +344,8 @@
541 static int
542 de600_open(struct net_device *dev)
543 {
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,
546+ dev->name, dev);
547 if (ret) {
548 printk ("%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
549 return ret;
550diff -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
553@@ -443,7 +443,8 @@
554 */
555 static int de620_open(struct net_device *dev)
556 {
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,
559+ dev->name, dev);
560 if (ret) {
561 printk (KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
562 return ret;
563diff -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
566@@ -800,7 +800,8 @@
567 netif_start_queue(dev);
568
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,
572+ lp->name, dev)) {
573 printk("Lance: Can't get irq %d\n", dev->irq);
574 return -EAGAIN;
575 }
576diff -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 @@
580
581 /* Register IRQ - support shared interrupts by passing device ptr */
582
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);
586 if (ret) {
587 printk(KERN_ERR "%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
588 return ret;
589diff -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
592@@ -780,7 +780,8 @@
593
594 depca_dbg_open(dev);
595
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);
600 status = -EAGAIN;
601 } else {
602diff -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 @@
606 */
607 if (priv->plxreg)
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);
612 if (rc)
613 return (rc);
614
615diff -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
618@@ -400,7 +400,8 @@
619 long ioaddr = dev->base_addr;
620 int i;
621
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);
625 if (i)
626 return i;
627 /* DebugCtrl bit 4, 5, 9 must set */
628diff -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
631@@ -561,7 +561,8 @@
632
633 DMFE_DBUG(0, "dmfe_open", 0);
634
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);
638 if (ret)
639 return ret;
640
641diff -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
644@@ -261,7 +261,8 @@
645 short ioaddr = dev->base_addr;
646 int retval;
647
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)))
651 return retval;
652
653 /* Set the interrupt line and memory base on the hardware. */
654diff -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
657@@ -962,7 +962,7 @@
658 return -EAGAIN;
659 }
660
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);
664 return -EAGAIN;
665 }
666diff -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
669@@ -940,7 +940,8 @@
670 sp->in_interrupt = 0;
671
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);
676 if (retval) {
677 MOD_DEC_USE_COUNT;
678 return retval;
679diff -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
682@@ -433,7 +433,8 @@
683 if (!dev->irq || !irqrmap[dev->irq])
684 return -ENXIO;
685
686- ret = request_irq(dev->irq,&eexp_irq,0,dev->name,dev);
687+ ret = request_irq(dev->irq,&eexp_irq,SA_NET_RANDOM,
688+ dev->name,dev);
689 if (ret) return ret;
690
691 request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress");
692diff -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
695@@ -663,7 +663,8 @@
696 /* Soft reset the chip. */
697 outl(0x4001, ioaddr + GENCTL);
698
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)))
702 return retval;
703
704 epic_init_ring(dev);
705diff -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
708@@ -212,7 +212,8 @@
709 printk(" assigning IRQ %d", dev->irq);
710 }
711
712- if (request_irq(dev->irq, ei_interrupt, 0, "es3210", dev)) {
713+ if (request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
714+ "es3210", dev)) {
715 printk (" unable to get IRQ %d.\n", dev->irq);
716 retval = -EAGAIN;
717 goto out;
718diff -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
721@@ -521,7 +521,8 @@
722
723 /* Try to obtain interrupt vector */
724
725- if ((retval = request_irq(dev->irq, (void *)&eth16i_interrupt, 0, dev->name, dev))) {
726+ if ((retval = request_irq(dev->irq, (void *)&eth16i_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);
730 goto out;
731diff -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
734@@ -640,7 +640,8 @@
735 STOP_EWRK3;
736
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);
742 status = -EAGAIN;
743 } else {
744diff -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 @@
748 int irqval = 0;
749 /* Found it, get IRQ.
750 */
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);
753 if (irqval) {
754 printk("iph5526.c : Unable to get IRQ %d (irqval = %d).\n", pci_irq_line, irqval);
755 scsi_unregister(host);
756diff -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
759@@ -880,7 +880,8 @@
760
761 writel(0x00000001, ioaddr + BCR); /* Reset */
762
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))
766 return -EAGAIN;
767
768 init_ring(dev);
769diff -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
772@@ -200,7 +200,8 @@
773 }
774
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,
778+ dev->name, dev);
779 if (retval) {
780 printk ("FMV-18x found at %#3x, but it's unusable due to a conflict on"
781 "IRQ %d.\n", ioaddr, irq);
782diff -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 @@
786 return -EIO;
787
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);
792 if (ret) {
793 printk(KERN_ERR "%s can't get irq %d\n", dev->name, dev->irq);
794 return ret;
795diff -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
798@@ -826,7 +826,8 @@
799 printk("%s: gt96100_open: dev=%p\n", dev->name, dev);
800
801 if ((retval = request_irq(dev->irq, &gt96100_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,
806 dev->irq);
807 MOD_DEC_USE_COUNT;
808diff -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
811@@ -849,7 +849,8 @@
812 u32 rx_int_var, tx_int_var;
813 u16 fifo_info;
814
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);
818 if (i)
819 return i;
820
821diff -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
824@@ -428,7 +428,8 @@
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))
832 return -EBUSY;
833 request_region(dev->base_addr, SER12_EXTENT, "baycom_ser_fdx");
834diff -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
837@@ -485,7 +485,8 @@
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))
845 return -EBUSY;
846 request_region(dev->base_addr, SER12_EXTENT, "baycom_ser12");
847diff -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
850@@ -713,7 +713,7 @@
851
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)) {
856 MOD_DEC_USE_COUNT;
857 return -EAGAIN;
858 }
859diff -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 @@
863
864 if (!Ivec[hwcfg.irq].used && hwcfg.irq)
865 {
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);
869 else
870 Ivec[hwcfg.irq].used = 1;
871diff -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
874@@ -436,7 +436,8 @@
875 kfree(sm->dma.obuf);
876 return -EBUSY;
877 }
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)) {
882 free_dma(dev->dma);
883 kfree(sm->dma.obuf);
884@@ -815,7 +816,8 @@
885 free_dma(dev->dma);
886 return -EBUSY;
887 }
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)) {
892 kfree(sm->dma.ibuf);
893 kfree(sm->dma.obuf);
894diff -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
897@@ -473,7 +473,8 @@
898 kfree(sm->dma.obuf);
899 return -EBUSY;
900 }
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)) {
905 free_dma(dev->dma);
906 kfree(sm->dma.obuf);
907@@ -827,7 +828,8 @@
908 free_dma(dev->dma);
909 return -EBUSY;
910 }
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)) {
915 kfree(sm->dma.ibuf);
916 kfree(sm->dma.obuf);
917diff -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
920@@ -862,7 +862,7 @@
921 return -EIO;
922 }
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);
927 return -EBUSY;
928 }
929diff -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
932@@ -253,7 +253,8 @@
933 int option_reg;
934 int retval;
935
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))) {
939 return retval;
940 }
941
942diff -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
945@@ -157,8 +157,7 @@
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);
953 dev->irq = *irqp;
954 break;
955diff -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 @@
959
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) |
966+ SA_NET_RANDOM,
967 lp->id->name, dev)) {
968 printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq);
969 return -EAGAIN;
970diff -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
973@@ -129,8 +129,8 @@
974 dev->irq = IRQ_AMIGA_PORTS;
975
976 /* Install the Interrupt handler */
977- if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, "Hydra Ethernet",
978- dev))
979+ if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
980+ SA_SHIRQ | SA_NET_RANDOM, "Hydra Ethernet", dev))
981 return -EAGAIN;
982
983 /* Allocate dev->priv and fill in 8390 specific dev fields. */
984diff -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
987@@ -856,7 +856,7 @@
988
989 result =
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);
993 if (result != 0) {
994 printk("%s: failed to register irq %d\n", dev->name,
995 dev->irq);
996diff -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 @@
1000 {
1001 struct ioc3_private *ip = dev->priv;
1002
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);
1007
1008 return -EAGAIN;
1009diff -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;
1014
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))
1019 {
1020 WARNING("%s, unable to allocate irq=%d\n", driver_name,
1021 self->io.irq);
1022diff -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
1025@@ -782,8 +782,8 @@
1026
1027 iobase = self->io.sir_base;
1028
1029- if (request_irq(self->io.irq, self->interrupt, 0, dev->name,
1030- (void *) dev)) {
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",
1034 self->io.irq);
1035 return -EAGAIN;
1036diff -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 @@
1040
1041 iobase = self->io.fir_base;
1042
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,
1047 self->io.irq);
1048 return -EAGAIN;
1049diff -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
1052@@ -864,7 +864,8 @@
1053
1054 si->speed = 9600;
1055
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);
1059 if (err)
1060 goto err_irq;
1061
1062diff -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
1065@@ -525,7 +525,8 @@
1066 return 0;
1067
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))
1072 {
1073
1074 return -EAGAIN;
1075diff -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
1078@@ -832,8 +832,8 @@
1079
1080 outb(IRINTR_INT_MASK, ndev->base_addr+VLSI_PIO_IRINTR);
1081
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);
1089diff -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 @@
1093
1094 iobase = self->io.fir_base;
1095
1096- if (request_irq(self->io.irq, w83977af_interrupt, 0, dev->name,
1097- (void *) dev)) {
1098+ if (request_irq(self->io.irq, w83977af_interrupt,
1099+ SA_NET_RANDOM, dev->name, (void *) dev)) {
1100 return -EAGAIN;
1101 }
1102 /*
1103diff -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
1106@@ -216,7 +216,8 @@
1107 dev->irq = 9;
1108
1109 {
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);
1113 if (irqval) {
1114 printk("%s: unable to get IRQ %d (irqval=%d).\n",
1115 dev->name, dev->irq, irqval);
1116diff -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
1119@@ -672,7 +672,8 @@
1120 int i;
1121
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)) {
1126 return -EAGAIN;
1127 }
1128
1129diff -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
1132@@ -999,7 +999,8 @@
1133
1134 MOD_INC_USE_COUNT;
1135
1136- if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
1137+ if (request_irq(dev->irq, &i596_interrupt, SA_NET_RANDOM,
1138+ "i82596", dev)) {
1139 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1140 goto out;
1141 }
1142diff -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
1145@@ -197,7 +197,8 @@
1146 }
1147 printk(" IRQ %d,", dev->irq);
1148
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);
1153 kfree(dev->priv);
1154 dev->priv = NULL;
1155diff -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
1158@@ -844,7 +844,8 @@
1159 i596_open(struct net_device *dev) {
1160 int i;
1161
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);
1165 if (i) {
1166 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1167 return i;
1168diff -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
1171@@ -329,7 +329,8 @@
1172 writereg(dev, PP_BusCTL, readreg(dev, PP_BusCTL) & ~ENABLE_IRQ);
1173
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,
1177+ "cs89x0", dev))
1178 return -EAGAIN;
1179
1180 /* Set up the IRQ - Apparently magic */
1181diff -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 @@
1185
1186 mace_reset(dev);
1187
1188- if (request_irq(dev->irq, mace_interrupt, 0, "MACE", dev))
1189+ if (request_irq(dev->irq, mace_interrupt, SA_NET_RANDOM,
1190+ "MACE", dev))
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",
1193- dev))
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",
1198- dev))
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);
1202
1203 mp->next_mace = mace_devs;
1204diff -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
1207@@ -422,7 +422,8 @@
1208 * The interrupt is fixed and comes off the PSC.
1209 */
1210
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))
1214 {
1215 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1216 return -EAGAIN;
1217diff -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",
1226+ (void *) dev)) {
1227 printk("MyriCOM: Cannot register interrupt handler.\n");
1228 goto err;
1229 }
1230diff -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. */
1235 natsemi_reset(dev);
1236
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);
1240 if (i) return i;
1241
1242 if (netif_msg_ifup(np))
1243diff -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
1246@@ -427,7 +427,8 @@
1247
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,
1252+ name, dev);
1253 if (ret) {
1254 printk (" unable to get IRQ %d (errno=%d).\n", dev->irq, ret);
1255 goto err_out_kfree;
1256diff -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
1259@@ -439,7 +439,8 @@
1260
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,
1265+ dev->name, dev);
1266 if (retval) {
1267 printk (" unable to get IRQ %d (irqval=%d).\n",
1268 dev->irq, retval);
1269diff -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
1272@@ -389,7 +389,8 @@
1273
1274 static int ne2k_pci_open(struct net_device *dev)
1275 {
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);
1279 if (ret)
1280 return ret;
1281
1282diff -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
1285@@ -189,7 +189,8 @@
1286 }
1287 printk(" IRQ %d,", dev->irq);
1288
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);
1292 if (retval) {
1293 printk (" unable to get IRQ %d.\n", dev->irq);
1294 goto out1;
1295diff -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
1298@@ -354,7 +354,8 @@
1299
1300 PRINTK2((KERN_DEBUG "%s: entering ni5010_open()\n", dev->name));
1301
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);
1306 return -EAGAIN;
1307 }
1308diff -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
1311@@ -264,7 +264,8 @@
1312 startrecv586(dev);
1313 ni_enaint();
1314
1315- ret = request_irq(dev->irq, &ni52_interrupt,0,dev->name,dev);
1316+ ret = request_irq(dev->irq, &ni52_interrupt,SA_NET_RANDOM,
1317+ dev->name,dev);
1318 if (ret)
1319 {
1320 ni_reset586();
1321diff -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
1324@@ -269,7 +269,7 @@
1325 static int ni65_open(struct net_device *dev)
1326 {
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);
1331 if (irqval) {
1332 printk ("%s: unable to get IRQ %d (irqval=%d).\n",
1333diff -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,
1338 0);
1339
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);
1344 if (err) {
1345 printk(KERN_INFO "ns83820: unable to register irq %d\n",
1346 pci_dev->irq);
1347diff -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
1350@@ -183,7 +183,8 @@
1351 /* Attempt to get the interrupt line */
1352
1353 ret = -EAGAIN;
1354- if (request_irq(dev->irq, ei_interrupt, 0, name, dev)) {
1355+ if (request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1356+ name, dev)) {
1357 printk("%s: unable to request interrupt %d.\n",
1358 dev->name, dev->irq);
1359 goto out_priv;
1360diff -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 @@
1364
1365 DPRINTK ("ENTER\n");
1366
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);
1370 if (retval) {
1371 DPRINTK ("EXIT, returning %d\n", retval);
1372 return retval;
1373diff -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
1376@@ -658,7 +658,8 @@
1377 link->open++;
1378 MOD_INC_USE_COUNT;
1379
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);
1383
1384 info->link_status = 0x00;
1385 info->watchdog.function = &ei_watchdog;
1386diff -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 @@
1390 MOD_INC_USE_COUNT;
1391
1392 set_misc_reg(dev);
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);
1395
1396 info->phy_id = info->eth_phy;
1397 info->link_status = 0x00;
1398diff -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
1401@@ -464,7 +464,8 @@
1402 int retval;
1403 enter();
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);
1408 if (retval) {
1409 printk(KERN_ERR "xircom_cb: Unable to aquire IRQ %i, aborting.\n",dev->irq);
1410 leave();
1411diff -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
1414@@ -797,7 +797,8 @@
1415 {
1416 struct xircom_private *tp = dev->priv;
1417
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))
1421 return -EAGAIN;
1422
1423 xircom_init_ring(dev);
1424diff -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
1427@@ -823,7 +823,8 @@
1428
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)) {
1434 return -EAGAIN;
1435 }
1436
1437diff -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
1440@@ -323,7 +323,8 @@
1441 }
1442
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);
1447 if (error) {
1448 printk (KERN_ERR "%s: unable to get IRQ %d\n",
1449 dev->name, dev->irq);
1450diff -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(&regs->HostCtrl)|HALT_NIC|RR_CLEAR_INT, &regs->HostCtrl);
1455 spin_unlock_irqrestore(&rrpriv->lock, flags);
1456
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))
1460 {
1461 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
1462 dev->name, dev->irq);
1463diff -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
1466@@ -786,8 +786,8 @@
1467 (struct lan_saa9730_private *) dev->priv;
1468
1469 /* Associate IRQ with lan_saa9730_interrupt */
1470- if (request_irq(dev->irq, &lan_saa9730_interrupt, 0, "SAA9730 Eth",
1471- dev)) {
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);
1475 return -EAGAIN;
1476 }
1477diff -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
1480@@ -992,7 +992,8 @@
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,
1486+ "sb1000", dev)) {
1487 return -EAGAIN;
1488 }
1489
1490diff -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
1493@@ -347,7 +347,7 @@
1494 struct net_local *lp = (struct net_local *)dev->priv;
1495
1496 {
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);
1499 if (irqval) {
1500 printk ("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1501 dev->irq, irqval);
1502diff -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
1505@@ -452,7 +452,8 @@
1506 int err;
1507
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);
1514 return -EAGAIN;
1515diff -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
1518@@ -863,7 +863,9 @@
1519 pci_read_config_byte(sis_priv->pci_dev, PCI_CLASS_REVISION, &revision);
1520 sis630_set_eq(net_dev, revision);
1521
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);
1526 if (ret)
1527 return ret;
1528
1529diff -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);
1534
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,
1541- pAC->Name, dev);
1542+ Ret = request_irq(dev->irq, SkGeIsrOnePort,
1543+ SA_SHIRQ | SA_NET_RANDOM, pAC->Name, dev);
1544 } else {
1545 printk(KERN_WARNING "%s: illegal number of ports: %d\n",
1546 dev->name, pAC->GIni.GIMacsFound);
1547diff -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
1550@@ -947,7 +947,8 @@
1551
1552 do
1553 {
1554- irqval = request_irq(irqtab[i], &SK_interrupt, 0, "sk_g16", dev);
1555+ irqval = request_irq(irqtab[i], &SK_interrupt, SA_NET_RANDOM,
1556+ "sk_g16", dev);
1557 i++;
1558 } while (irqval && irqtab[i]);
1559
1560@@ -964,7 +965,7 @@
1561 }
1562 else if (dev->irq == 2) /* IRQ2 is always IRQ9 */
1563 {
1564- if (request_irq(9, &SK_interrupt, 0, "sk_g16", dev))
1565+ if (request_irq(9, &SK_interrupt, SA_NET_RANDOM, "sk_g16", dev))
1566 {
1567 printk("%s: unable to get IRQ 9\n", dev->name);
1568 return -EAGAIN;
1569diff -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
1572@@ -861,7 +861,7 @@
1573 /* register resources - only necessary for IRQ */
1574 result =
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);
1578 if (result != 0) {
1579 printk("%s: failed to register irq %d\n", dev->name,
1580 dev->irq);
1581diff -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
1584@@ -774,8 +774,8 @@
1585
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);
1593 return (-EAGAIN);
1594 }
1595diff -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
1598@@ -325,7 +325,8 @@
1599 int ioaddr = dev->base_addr - ULTRA_NIC_OFFSET; /* ASIC addr */
1600 int retval;
1601
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)))
1605 return retval;
1606
1607 outb(ULTRA_MEMENB, ioaddr); /* Enable memory */
1608diff -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
1611@@ -329,7 +329,8 @@
1612 unsigned char irq2reg[] = {0, 0, 0x04, 0x08, 0, 0x0C, 0, 0x40,
1613 0, 0x04, 0x44, 0x48, 0, 0, 0, 0x4C, };
1614
1615- retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1616+ retval = request_irq(dev->irq, ei_interrupt, SA_NET_RANDOM,
1617+ dev->name, dev);
1618 if (retval)
1619 return retval;
1620
1621diff -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
1624@@ -256,6 +256,8 @@
1625 int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ;
1626 int retval;
1627
1628+ irq_flags |= SA_NET_RANDOM;
1629+
1630 retval = request_irq(dev->irq, ei_interrupt, irq_flags, dev->name, dev);
1631 if (retval)
1632 return retval;
1633diff -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 @@
1637 ether_setup(dev);
1638
1639 /* Grab the IRQ */
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);
1642 if (retval) {
1643 printk("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1644 dev->irq, retval);
1645diff -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
1648@@ -42,8 +42,8 @@
1649 * this glue works ok under all situations.
1650 */
1651 // if (sonic_request_irq(dev->irq, &sonic_interrupt, 0, "sonic", dev)) {
1652- if (sonic_request_irq(dev->irq, &sonic_interrupt, SA_INTERRUPT,
1653- "sonic", dev)) {
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);
1657 return -EAGAIN;
1658 }
1659diff -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
1662@@ -831,7 +831,8 @@
1663
1664 COMPAT_MOD_INC_USE_COUNT;
1665
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);
1669 if (retval) {
1670 COMPAT_MOD_DEC_USE_COUNT;
1671 return retval;
1672diff -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
1675@@ -135,7 +135,7 @@
1676
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);
1681 if (i) {
1682 printk (KERN_EMERG " unable to get IRQ %d.\n", dev->irq);
1683 unregister_netdev(dev);
1684diff -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
1687@@ -318,7 +318,8 @@
1688
1689 REGA(CSR0) = CSR0_STOP;
1690
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;
1695
1696
1697diff -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
1700@@ -904,7 +904,8 @@
1701 struct bigmac *bp = (struct bigmac *) dev->priv;
1702 int ret;
1703
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);
1707 if (ret) {
1708 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq);
1709 return ret;
1710diff -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
1713@@ -750,7 +750,8 @@
1714
1715 /* Do we need to reset the chip??? */
1716
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);
1720 if (i)
1721 return i;
1722
1723diff -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 @@
1727 * on the controller
1728 */
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)
1735diff -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 @@
1739 */
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)) {
1745 HMD(("EAGAIN\n"));
1746 #ifdef __sparc__
1747 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %s to go.\n",
1748diff -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
1751@@ -925,7 +925,8 @@
1752
1753 STOP_LANCE(lp);
1754
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));
1760 return -EAGAIN;
1761diff -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
1764@@ -896,7 +896,8 @@
1765 * for it now.
1766 */
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");
1772 res = EAGAIN;
1773 goto qec_free_devs;
1774diff -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
1777@@ -871,7 +871,8 @@
1778 int err;
1779
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 );
1784
1785 if ( err ) {
1786 printk(KERN_ERR "TLAN: Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq );
1787diff -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
1790@@ -123,8 +123,8 @@
1791 goto err_out_trdev;
1792 }
1793
1794- ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1795- dev->name, dev);
1796+ ret = request_irq(pdev->irq, tms380tr_interrupt,
1797+ SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1798 if (ret)
1799 goto err_out_region;
1800
1801diff -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
1804@@ -662,7 +662,8 @@
1805
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",
1812 irq);
1813 iounmap(t_mmio);
1814diff -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
1817@@ -535,7 +535,8 @@
1818 rc=streamer_reset(dev);
1819 }
1820
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)) {
1824 return -EAGAIN;
1825 }
1826 #if STREAMER_DEBUG
1827diff -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
1830@@ -331,8 +331,9 @@
1831 */
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,
1835- "madgemc", dev))
1836+ if(request_irq(dev->irq, madgemc_interrupt,
1837+ SA_SHIRQ | SA_NET_RANDOM,
1838+ "madgemc", dev))
1839 goto getout;
1840
1841 madgemc_chipset_init(dev); /* enables interrupts! */
1842diff -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
1845@@ -396,7 +396,8 @@
1846 char open_error[255] ;
1847 int i, open_finished = 1 ;
1848
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)) {
1852 return -EAGAIN;
1853 }
1854
1855diff -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
1858@@ -544,7 +544,8 @@
1859 dev->irq = 15;
1860 break;
1861 }
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))
1865 return (-ENODEV);
1866
1867 /* Get RAM base */
1868diff -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
1871@@ -184,8 +184,8 @@
1872 for(j = 0; irqlist[j] != 0; j++)
1873 {
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))
1879 break;
1880 }
1881
1882diff -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
1885@@ -123,8 +123,8 @@
1886 goto err_out_trdev;
1887 }
1888
1889- ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1890- dev->name, dev);
1891+ ret = request_irq(pdev->irq, tms380tr_interrupt,
1892+ SA_SHIRQ | SA_NET_RANDOM, dev->name, dev);
1893 if (ret)
1894 goto err_out_region;
1895
1896diff -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
1899@@ -507,7 +507,9 @@
1900 int retval;
1901 MOD_INC_USE_COUNT;
1902
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))) {
1907 MOD_DEC_USE_COUNT;
1908 return retval;
1909 }
1910diff -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);
1916
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);
1920 if (i)
1921 return i;
1922
1923diff -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
1926@@ -251,7 +251,7 @@
1927 }
1928 memset(card, 0, sizeof(card_t));
1929
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);
1934 return(-EBUSY);
1935diff -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
1938@@ -469,8 +469,8 @@
1939 if (check_region(dev->base_addr, hw->io_extent)) {
1940 return -EAGAIN;
1941 }
1942- if (request_irq(dev->irq, COMX_interrupt, 0, dev->name,
1943- (void *)dev)) {
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);
1947 return -EAGAIN;
1948 }
1949diff -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
1952@@ -172,8 +172,8 @@
1953 hw->board.chanA.irqs=&z8530_nop;
1954 hw->board.chanB.irqs=&z8530_nop;
1955
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,
1961 dev->irq);
1962 ret=-EAGAIN;
1963diff -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
1966@@ -518,8 +518,8 @@
1967 }
1968
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);
1975 ret = -EAGAIN;
1976 goto err_release_region;
1977diff -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
1980@@ -541,7 +541,8 @@
1981 cosa->nchannels = 2; /* FIXME: how to determine this? */
1982
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))
1987 goto bad1;
1988 if (request_dma(cosa->dma, cosa->type)) {
1989 free_irq(cosa->irq, cosa);
1990diff -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
1993@@ -214,7 +214,8 @@
1994 /* Allocate IRQ */
1995 irq = conf->irq == 2 ? 9 : conf->irq; /* IRQ2 -> IRQ9 */
1996
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",
2001 wandev->name, irq);
2002 goto out;
2003diff -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
2006@@ -506,7 +506,8 @@
2007
2008 priv = (struct dscc4_pci_priv *)pci_get_drvdata(pdev);
2009
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;
2015 }
2016diff -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;
2021
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 ))
2026 {
2027
2028 printk_err ("Unable to register interrupt %d\n", card->irq );
2029diff -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
2032@@ -254,7 +254,9 @@
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 */
2035
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)
2040 {
2041 printk(KERN_WARNING "hostess: IRQ %d already in use.\n", irq);
2042 goto fail1;
2043diff -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 @@
2047 lmc_softreset (sc);
2048
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");
2055 return -EAGAIN;
2056diff -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
2059@@ -398,7 +398,7 @@
2060 }
2061 card->io = io;
2062
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);
2067 return(-EBUSY);
2068diff -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 @@
2072 }
2073 }
2074
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 );
2080 return -EAGAIN;
2081diff -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 @@
2085 }
2086 dev->irq = map->irq;
2087
2088- if (request_irq(dev->irq, &sdla_isr, 0, dev->name, dev))
2089+ if (request_irq(dev->irq, &sdla_isr, SA_NET_RANDOM,
2090+ dev->name, dev))
2091 return(-EAGAIN);
2092
2093 if (flp->type == SDLA_S507)
2094diff -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
2097@@ -495,8 +495,7 @@
2098 /* when using the S514 PCI adapter */
2099
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)){
2104
2105 printk(KERN_INFO "%s: Can't reserve IRQ %d!\n", wandev->name, irq);
2106 return -EINVAL;
2107diff -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
2110@@ -281,7 +281,8 @@
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 */
2113
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)
2117 {
2118 printk(KERN_WARNING "sealevel: IRQ %d already in use.\n", irq);
2119 goto fail1_1;
2120diff -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 @@
2124 return -ENXIO;
2125 }
2126
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)
2130 {
2131 #ifdef DEBUG_CONFIG_ERROR
2132 printk(KERN_WARNING "%s: wavelan_open(): invalid IRQ\n",
2133diff -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
2136@@ -266,7 +266,8 @@
2137
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);
2143 if (i) {
2144 printk (" unable to get IRQ %d.\n", dev->irq);
2145 kfree(dev->priv);
2146diff -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
2149@@ -691,7 +691,8 @@
2150 writel(0x00000001, ioaddr + PCIBusCfg); /* Reset */
2151
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);
2156 if (i)
2157 goto out_err;
2158
2159diff -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 @@
2163 dev->irq = irq;
2164 dev->base_addr = port;
2165
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 );
2169 if (rc) {
2170 printk(KERN_ERR "airo: register interrupt %d failed, rc %d\n", irq, rc );
2171 goto err_out_unlink;
2172diff -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
2175@@ -231,7 +231,8 @@
2176 /* Reset it before we get the interrupt */
2177 hermes_reset(hw);
2178
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);
2183 goto failed;
2184 }
2185diff -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
2188@@ -297,7 +297,8 @@
2189 hermes_struct_init(&(priv->hw), dev->base_addr);
2190 pci_set_drvdata(pdev, priv);
2191
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);
2195 if (err) {
2196 printk(KERN_ERR "orinoco_plx: Error allocating IRQ %d.\n", pdev->irq);
2197 err = -EBUSY;
2198diff -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
2201@@ -625,7 +625,8 @@
2202 /* Reset the chip. */
2203 outl(0x80000000, ioaddr + DMACtrl);
2204
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);
2208 if (i) return i;
2209
2210 if (yellowfin_debug > 1)
2211diff -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
2214@@ -252,7 +252,8 @@
2215 zn.lock = SPIN_LOCK_UNLOCKED;
2216
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,
2220+ "ZNet", dev)
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);
This page took 0.864481 seconds and 4 git commands to generate.