]> git.pld-linux.org Git - packages/kernel.git/blob - netdev-random-drivers-rml-2.4.16-1.patch
- this patch fix twice EXPORT_SYMBOL(br_ioctl_hook); in kernel-source net/netsyms.c
[packages/kernel.git] / netdev-random-drivers-rml-2.4.16-1.patch
1 diff -urN linux-2.4.16/drivers/net/3c501.c linux/drivers/net/3c501.c
2 --- linux-2.4.16/drivers/net/3c501.c    Mon Nov 26 15:56:31 2001
3 +++ linux/drivers/net/3c501.c   Mon Nov 26 16:13:35 2001
4 @@ -410,7 +410,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_SAMPLE_NET_RANDOM, dev->name, dev)))
11                 return retval;
12  
13         spin_lock_irqsave(&lp->lock, flags);
14 diff -urN linux-2.4.16/drivers/net/3c503.c linux/drivers/net/3c503.c
15 --- linux-2.4.16/drivers/net/3c503.c    Mon Nov 26 15:56:31 2001
16 +++ linux/drivers/net/3c503.c   Mon Nov 26 16:13:35 2001
17 @@ -338,7 +338,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_SAMPLE_NET_RANDOM, dev->name, dev)) == 0))
23                     break;
24             }
25         } while (*++irqp);
26 @@ -347,7 +347,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_SAMPLE_NET_RANDOM, dev->name, dev))) {
32             return retval;
33         }
34      }
35 diff -urN linux-2.4.16/drivers/net/3c505.c linux/drivers/net/3c505.c
36 --- linux-2.4.16/drivers/net/3c505.c    Mon Nov 26 15:56:31 2001
37 +++ linux/drivers/net/3c505.c   Mon Nov 26 16:13:35 2001
38 @@ -897,7 +897,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_SAMPLE_NET_RANDOM, dev->name, dev))) {
45                 printk(KERN_ERR "%s: could not allocate IRQ%d\n", dev->name, dev->irq);
46                 return retval;
47         }
48 diff -urN linux-2.4.16/drivers/net/3c507.c linux/drivers/net/3c507.c
49 --- linux-2.4.16/drivers/net/3c507.c    Mon Nov 26 15:56:31 2001
50 +++ linux/drivers/net/3c507.c   Mon Nov 26 16:13:35 2001
51 @@ -363,7 +363,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_SAMPLE_NET_RANDOM,
57 +                       dev->name, dev);
58         if (irqval) {
59                 printk ("unable to get IRQ %d (irqval=%d).\n", irq, irqval);
60                 retval = -EAGAIN;
61 diff -urN linux-2.4.16/drivers/net/3c509.c linux/drivers/net/3c509.c
62 --- linux-2.4.16/drivers/net/3c509.c    Mon Nov 26 15:56:31 2001
63 +++ linux/drivers/net/3c509.c   Mon Nov 26 16:13:35 2001
64 @@ -562,7 +562,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_SAMPLE_NET_RANDOM, dev->name, dev);
71         if (i) return i;
72  
73         EL3WINDOW(0);
74 diff -urN linux-2.4.16/drivers/net/3c515.c linux/drivers/net/3c515.c
75 --- linux-2.4.16/drivers/net/3c515.c    Mon Nov 26 15:56:32 2001
76 +++ linux/drivers/net/3c515.c   Mon Nov 26 16:13:35 2001
77 @@ -790,11 +790,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_SAMPLE_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_SAMPLE_NET_RANDOM,
91                                vp->product_name, dev)) {
92                 return -EAGAIN;
93         }
94 diff -urN linux-2.4.16/drivers/net/3c523.c linux/drivers/net/3c523.c
95 --- linux-2.4.16/drivers/net/3c523.c    Mon Nov 26 15:56:32 2001
96 +++ linux/drivers/net/3c523.c   Mon Nov 26 16:13:35 2001
97 @@ -280,8 +280,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_SAMPLE_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();
108 diff -urN linux-2.4.16/drivers/net/3c527.c linux/drivers/net/3c527.c
109 --- linux-2.4.16/drivers/net/3c527.c    Mon Nov 26 15:56:33 2001
110 +++ linux/drivers/net/3c527.c   Mon Nov 26 16:13:36 2001
111 @@ -401,7 +401,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_SAMPLE_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);
120 diff -urN linux-2.4.16/drivers/net/3c59x.c linux/drivers/net/3c59x.c
121 --- linux-2.4.16/drivers/net/3c59x.c    Mon Nov 26 15:56:32 2001
122 +++ linux/drivers/net/3c59x.c   Mon Nov 26 16:13:36 2001
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_SAMPLE_NET_RANDOM, dev->name, dev))) {
130                 printk(KERN_ERR "%s: Could not reserve IRQ %d\n", dev->name, dev->irq);
131                 goto out;
132         }
133 diff -urN linux-2.4.16/drivers/net/7990.c linux/drivers/net/7990.c
134 --- linux-2.4.16/drivers/net/7990.c     Mon Nov 26 15:56:33 2001
135 +++ linux/drivers/net/7990.c    Mon Nov 26 16:13:36 2001
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_SAMPLE_NET_RANDOM, lp->name, dev))
142                  return -EAGAIN;
143  
144          res = lance_reset(dev);
145 diff -urN linux-2.4.16/drivers/net/8139too.c linux/drivers/net/8139too.c
146 --- linux-2.4.16/drivers/net/8139too.c  Mon Nov 26 15:56:33 2001
147 +++ linux/drivers/net/8139too.c Mon Nov 26 16:13:36 2001
148 @@ -1245,7 +1245,8 @@
149         void *ioaddr = tp->mmio_addr;
150  #endif
151  
152 -       retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev);
153 +       retval = request_irq (dev->irq, rtl8139_interrupt,
154 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
155         if (retval)
156                 return retval;
157  
158 diff -urN linux-2.4.16/drivers/net/82596.c linux/drivers/net/82596.c
159 --- linux-2.4.16/drivers/net/82596.c    Mon Nov 26 15:56:32 2001
160 +++ linux/drivers/net/82596.c   Mon Nov 26 16:13:36 2001
161 @@ -973,7 +973,8 @@
162  
163         DEB(DEB_OPEN,printk("%s: i596_open() irq %d.\n", dev->name, dev->irq));
164  
165 -       if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
166 +       if (request_irq(dev->irq, &i596_interrupt, SA_SAMPLE_NET_RANDOM,
167 +                       "i82596", dev)) {
168                 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
169                 return -EAGAIN;
170         }
171 diff -urN linux-2.4.16/drivers/net/a2065.c linux/drivers/net/a2065.c
172 --- linux-2.4.16/drivers/net/a2065.c    Mon Nov 26 15:56:32 2001
173 +++ linux/drivers/net/a2065.c   Mon Nov 26 16:13:36 2001
174 @@ -495,8 +495,8 @@
175         last_dev = dev;
176  
177         /* Install the Interrupt handler */
178 -       ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt, SA_SHIRQ,
179 -                         dev->name, dev);
180 +       ret = request_irq(IRQ_AMIGA_PORTS, lance_interrupt,
181 +                         SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
182         if (ret) return ret;
183  
184         /* Stop the Lance */
185 diff -urN linux-2.4.16/drivers/net/ac3200.c linux/drivers/net/ac3200.c
186 --- linux-2.4.16/drivers/net/ac3200.c   Mon Nov 26 15:56:31 2001
187 +++ linux/drivers/net/ac3200.c  Mon Nov 26 16:13:36 2001
188 @@ -173,7 +173,8 @@
189                 printk(", assigning");
190         }
191  
192 -       retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
193 +       retval = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
194 +                       dev->name, dev);
195         if (retval) {
196                 printk (" nothing! Unable to get IRQ %d.\n", dev->irq);
197                 goto out1;
198 diff -urN linux-2.4.16/drivers/net/acenic.c linux/drivers/net/acenic.c
199 --- linux-2.4.16/drivers/net/acenic.c   Mon Nov 26 15:56:32 2001
200 +++ linux/drivers/net/acenic.c  Mon Nov 26 16:13:36 2001
201 @@ -1360,7 +1360,8 @@
202                 goto init_error;
203         }
204  
205 -       ecode = request_irq(dev->irq, ace_interrupt, SA_SHIRQ, dev->name, dev);
206 +       ecode = request_irq(dev->irq, ace_interrupt,
207 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
208         if (ecode) {
209                 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
210                        dev->name, dev->irq);
211 diff -urN linux-2.4.16/drivers/net/aironet4500_card.c linux/drivers/net/aironet4500_card.c
212 --- linux-2.4.16/drivers/net/aironet4500_card.c Mon Nov 26 15:56:34 2001
213 +++ linux/drivers/net/aironet4500_card.c        Mon Nov 26 16:13:36 2001
214 @@ -213,7 +213,7 @@
215         dev->watchdog_timeo = AWC_TX_TIMEOUT;
216         
217  
218 -       i = request_irq(dev->irq,awc_interrupt, SA_SHIRQ | SA_INTERRUPT, dev->name, dev);
219 +       i = request_irq(dev->irq,awc_interrupt, SA_SHIRQ | SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, dev->name, dev);
220         if (i) {
221                 kfree(dev->priv);
222                 dev->priv = NULL;
223 diff -urN linux-2.4.16/drivers/net/am79c961a.c linux/drivers/net/am79c961a.c
224 --- linux-2.4.16/drivers/net/am79c961a.c        Mon Nov 26 15:56:33 2001
225 +++ linux/drivers/net/am79c961a.c       Mon Nov 26 16:13:36 2001
226 @@ -267,7 +267,8 @@
227  
228         memset (&priv->stats, 0, sizeof (priv->stats));
229  
230 -       ret = request_irq(dev->irq, am79c961_interrupt, 0, dev->name, dev);
231 +       ret = request_irq(dev->irq, am79c961_interrupt, SA_SAMPLE_NET_RANDOM,
232 +                       dev->name, dev);
233         if (ret)
234                 return ret;
235  
236 diff -urN linux-2.4.16/drivers/net/apne.c linux/drivers/net/apne.c
237 --- linux-2.4.16/drivers/net/apne.c     Mon Nov 26 15:56:31 2001
238 +++ linux/drivers/net/apne.c    Mon Nov 26 16:13:36 2001
239 @@ -287,7 +287,8 @@
240      dev->base_addr = ioaddr;
241  
242      /* Install the Interrupt handler */
243 -    i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt, SA_SHIRQ, dev->name, dev);
244 +    i = request_irq(IRQ_AMIGA_PORTS, apne_interrupt,
245 +                   SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
246      if (i) return i;
247  
248      /* Allocate dev->priv and fill in 8390 specific dev fields. */
249 diff -urN linux-2.4.16/drivers/net/appletalk/cops.c linux/drivers/net/appletalk/cops.c
250 --- linux-2.4.16/drivers/net/appletalk/cops.c   Mon Nov 26 15:56:34 2001
251 +++ linux/drivers/net/appletalk/cops.c  Mon Nov 26 16:13:36 2001
252 @@ -304,7 +304,8 @@
253  
254         /* Reserve any actual interrupt. */
255         if(dev->irq) {
256 -               retval = request_irq(dev->irq, &cops_interrupt, 0, dev->name, dev);
257 +               retval = request_irq(dev->irq, &cops_interrupt,
258 +                               SA_SAMPLE_NET_RANDOM, dev->name, dev);
259                 if (retval)
260                         goto err_out;
261         }
262 diff -urN linux-2.4.16/drivers/net/appletalk/ltpc.c linux/drivers/net/appletalk/ltpc.c
263 --- linux-2.4.16/drivers/net/appletalk/ltpc.c   Mon Nov 26 15:56:34 2001
264 +++ linux/drivers/net/appletalk/ltpc.c  Mon Nov 26 16:13:36 2001
265 @@ -1200,7 +1200,8 @@
266  
267         if (irq) {
268                 /* grab it and don't let go :-) */
269 -               (void) request_irq( irq, &ltpc_interrupt, 0, "ltpc", dev);
270 +               (void) request_irq(irq, &ltpc_interrupt,
271 +                       SA_SAMPLE_NET_RANDOM, "ltpc", dev);
272                 (void) inb_p(io+7);  /* enable interrupts from board */
273                 (void) inb_p(io+7);  /* and reset irq line */
274         } else {
275 diff -urN linux-2.4.16/drivers/net/arcnet/arc-rimi.c linux/drivers/net/arcnet/arc-rimi.c
276 --- linux-2.4.16/drivers/net/arcnet/arc-rimi.c  Mon Nov 26 15:56:33 2001
277 +++ linux/drivers/net/arcnet/arc-rimi.c Mon Nov 26 16:13:36 2001
278 @@ -121,7 +121,8 @@
279         int mirror_size;
280  
281         /* reserve the irq */  {
282 -               if (request_irq(dev->irq, &arcnet_interrupt, 0, "arcnet (RIM I)", dev))
283 +               if (request_irq(dev->irq, &arcnet_interrupt,
284 +                               SA_SAMPLE_NET_RANDOM, "arcnet (RIM I)", dev))
285                         BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
286                 return -ENODEV;
287         }
288 diff -urN linux-2.4.16/drivers/net/arcnet/com20020.c linux/drivers/net/arcnet/com20020.c
289 --- linux-2.4.16/drivers/net/arcnet/com20020.c  Mon Nov 26 15:56:33 2001
290 +++ linux/drivers/net/arcnet/com20020.c Mon Nov 26 16:13:36 2001
291 @@ -196,7 +196,8 @@
292         outb(dev->dev_addr[0], _XREG);
293  
294         /* reserve the irq */
295 -       if (request_irq(dev->irq, &arcnet_interrupt, shared,
296 +       if (request_irq(dev->irq, &arcnet_interrupt,
297 +                       shared | SA_SAMPLE_NET_RANDOM,
298                         "arcnet (COM20020)", dev)) {
299                 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
300                 return -ENODEV;
301 diff -urN linux-2.4.16/drivers/net/arcnet/com90io.c linux/drivers/net/arcnet/com90io.c
302 --- linux-2.4.16/drivers/net/arcnet/com90io.c   Mon Nov 26 15:56:33 2001
303 +++ linux/drivers/net/arcnet/com90io.c  Mon Nov 26 16:13:36 2001
304 @@ -236,7 +236,8 @@
305         int ioaddr = dev->base_addr;
306  
307         /* Reserve the irq */
308 -       if (request_irq(dev->irq, &arcnet_interrupt, 0, "arcnet (COM90xx-IO)", dev)) {
309 +       if (request_irq(dev->irq, &arcnet_interrupt,
310 +                       SA_SAMPLE_NET_RANDOM, "arcnet (COM90xx-IO)", dev)) {
311                 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", dev->irq);
312                 return -ENODEV;
313         }
314 diff -urN linux-2.4.16/drivers/net/arcnet/com90xx.c linux/drivers/net/arcnet/com90xx.c
315 --- linux-2.4.16/drivers/net/arcnet/com90xx.c   Mon Nov 26 15:56:33 2001
316 +++ linux/drivers/net/arcnet/com90xx.c  Mon Nov 26 16:13:36 2001
317 @@ -472,7 +472,8 @@
318         dev->dev_addr[0] = readb(lp->mem_start + 1);
319  
320         /* reserve the irq */
321 -       if (request_irq(airq, &arcnet_interrupt, 0, "arcnet (90xx)", dev)) {
322 +       if (request_irq(airq, &arcnet_interrupt, SA_SAMPLE_NET_RANDOM,
323 +                       "arcnet (90xx)", dev)) {
324                 BUGMSG(D_NORMAL, "Can't get IRQ %d!\n", airq);
325                 goto err_unmap;
326         }
327 diff -urN linux-2.4.16/drivers/net/ariadne.c linux/drivers/net/ariadne.c
328 --- linux-2.4.16/drivers/net/ariadne.c  Mon Nov 26 15:56:32 2001
329 +++ linux/drivers/net/ariadne.c Mon Nov 26 16:13:36 2001
330 @@ -313,8 +313,8 @@
331  
332      netif_start_queue(dev);
333  
334 -    i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt, SA_SHIRQ,
335 -                    dev->name, dev);
336 +    i = request_irq(IRQ_AMIGA_PORTS, ariadne_interrupt,
337 +                   SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
338      if (i) return i;
339  
340      lance->RAP = CSR0;         /* PCnet-ISA Controller Status */
341 diff -urN linux-2.4.16/drivers/net/ariadne2.c linux/drivers/net/ariadne2.c
342 --- linux-2.4.16/drivers/net/ariadne2.c Mon Nov 26 15:56:33 2001
343 +++ linux/drivers/net/ariadne2.c        Mon Nov 26 16:13:36 2001
344 @@ -194,7 +194,8 @@
345      dev->irq = IRQ_AMIGA_PORTS;
346  
347      /* Install the Interrupt handler */
348 -    i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, dev->name, dev);
349 +    i = request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
350 +                   SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
351      if (i) return i;
352  
353      /* Allocate dev->priv and fill in 8390 specific dev fields. */
354 diff -urN linux-2.4.16/drivers/net/arlan.c linux/drivers/net/arlan.c
355 --- linux-2.4.16/drivers/net/arlan.c    Mon Nov 26 15:56:33 2001
356 +++ linux/drivers/net/arlan.c   Mon Nov 26 16:13:36 2001
357 @@ -1299,7 +1299,8 @@
358                 return ret;
359  
360         arlan = ((struct arlan_private *) dev->priv)->card;
361 -       ret = request_irq(dev->irq, &arlan_interrupt, 0, dev->name, dev);
362 +       ret = request_irq(dev->irq, &arlan_interrupt, SA_SAMPLE_NET_RANDOM,
363 +                       dev->name, dev);
364         if (ret)
365         {
366                 printk(KERN_ERR "%s: unable to get IRQ %d .\n",
367 diff -urN linux-2.4.16/drivers/net/at1700.c linux/drivers/net/at1700.c
368 --- linux-2.4.16/drivers/net/at1700.c   Mon Nov 26 15:56:31 2001
369 +++ linux/drivers/net/at1700.c  Mon Nov 26 16:13:36 2001
370 @@ -439,7 +439,8 @@
371         lp->jumpered = is_fmv18x;
372         lp->mca_slot = slot;
373         /* Snarf the interrupt vector now. */
374 -       ret = request_irq(irq, &net_interrupt, 0, dev->name, dev);
375 +       ret = request_irq(irq, &net_interrupt, SA_SAMPLE_NET_RANDOM,
376 +                       dev->name, dev);
377         if (ret) {
378                 printk ("  AT1700 at %#3x is unusable due to a conflict on"
379                                 "IRQ %d.\n", ioaddr, irq);
380 diff -urN linux-2.4.16/drivers/net/atarilance.c linux/drivers/net/atarilance.c
381 --- linux-2.4.16/drivers/net/atarilance.c       Mon Nov 26 15:56:32 2001
382 +++ linux/drivers/net/atarilance.c      Mon Nov 26 16:13:36 2001
383 @@ -546,7 +546,8 @@
384         if (lp->cardtype == PAM_CARD ||
385                 memaddr == (unsigned short *)0xffe00000) {
386                 /* PAMs card and Riebl on ST use level 5 autovector */
387 -               request_irq(IRQ_AUTO_5, lance_interrupt, IRQ_TYPE_PRIO,
388 +               request_irq(IRQ_AUTO_5, lance_interrupt,
389 +                           IRQ_TYPE_PRIO | SA_SAMPLE_NET_RANDOM,
390                             "PAM/Riebl-ST Ethernet", dev);
391                 dev->irq = (unsigned short)IRQ_AUTO_5;
392         }
393 @@ -560,7 +561,8 @@
394                         printk( "Lance: request for VME interrupt failed\n" );
395                         return( 0 );
396                 }
397 -               request_irq(irq, lance_interrupt, IRQ_TYPE_PRIO,
398 +               request_irq(irq, lance_interrupt,
399 +                           IRQ_TYPE_PRIO | SA_SAMPLE_NET_RANDOM,
400                             "Riebl-VME Ethernet", dev);
401                 dev->irq = irq;
402         }
403 diff -urN linux-2.4.16/drivers/net/atp.c linux/drivers/net/atp.c
404 --- linux-2.4.16/drivers/net/atp.c      Mon Nov 26 15:56:31 2001
405 +++ linux/drivers/net/atp.c     Mon Nov 26 16:13:36 2001
406 @@ -438,7 +438,8 @@
407         /* The interrupt line is turned off (tri-stated) when the device isn't in
408            use.  That's especially important for "attached" interfaces where the
409            port or interrupt may be shared. */
410 -       ret = request_irq(dev->irq, &atp_interrupt, 0, dev->name, dev);
411 +       ret = request_irq(dev->irq, &atp_interrupt, SA_SAMPLE_NET_RANDOM,
412 +                       dev->name, dev);
413         if (ret)
414                 return ret;
415  
416 diff -urN linux-2.4.16/drivers/net/au1000_eth.c linux/drivers/net/au1000_eth.c
417 --- linux-2.4.16/drivers/net/au1000_eth.c       Mon Nov 26 15:56:34 2001
418 +++ linux/drivers/net/au1000_eth.c      Mon Nov 26 16:13:36 2001
419 @@ -819,7 +819,8 @@
420         }
421         netif_start_queue(dev);
422  
423 -       if ((retval = request_irq(dev->irq, &au1000_interrupt, 0, dev->name, dev))) {
424 +       if ((retval = request_irq(dev->irq, &au1000_interrupt,
425 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
426                 printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
427                 MOD_DEC_USE_COUNT;
428                 return retval;
429 diff -urN linux-2.4.16/drivers/net/bagetlance.c linux/drivers/net/bagetlance.c
430 --- linux-2.4.16/drivers/net/bagetlance.c       Mon Nov 26 15:56:34 2001
431 +++ linux/drivers/net/bagetlance.c      Mon Nov 26 16:13:36 2001
432 @@ -622,7 +622,8 @@
433         if (lp->cardtype == PAM_CARD ||
434                 memaddr == (unsigned short *)0xffe00000) {
435                 /* PAMs card and Riebl on ST use level 5 autovector */
436 -               request_irq(BAGET_LANCE_IRQ, lance_interrupt, IRQ_TYPE_PRIO,
437 +               request_irq(BAGET_LANCE_IRQ, lance_interrupt,
438 +                           IRQ_TYPE_PRIO | SA_SAMPLE_NET_RANDOM,
439                             "PAM/Riebl-ST Ethernet", dev);
440                 dev->irq = (unsigned short)BAGET_LANCE_IRQ;
441         }
442 diff -urN linux-2.4.16/drivers/net/bmac.c linux/drivers/net/bmac.c
443 --- linux-2.4.16/drivers/net/bmac.c     Mon Nov 26 15:56:33 2001
444 +++ linux/drivers/net/bmac.c    Mon Nov 26 16:13:36 2001
445 @@ -1405,17 +1405,20 @@
446         /*     init_timer(&bp->tx_timeout); */
447         /*     bp->timeout_active = 0; */
448  
449 -       ret = request_irq(dev->irq, bmac_misc_intr, 0, "BMAC-misc", dev);
450 +       ret = request_irq(dev->irq, bmac_misc_intr, SA_SAMPLE_NET_RANDOM,
451 +                       "BMAC-misc", dev);
452         if (ret) {
453                 printk(KERN_ERR "BMAC: can't get irq %d\n", dev->irq);
454                 goto err_out_iounmap_rx;
455         }
456 -       ret = request_irq(bmac->intrs[1].line, bmac_txdma_intr, 0, "BMAC-txdma", dev);
457 +       ret = request_irq(bmac->intrs[1].line, bmac_txdma_intr,
458 +                       SA_SAMPLE_NET_RANDOM, "BMAC-txdma", dev);
459         if (ret) {
460                 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[1].line);
461                 goto err_out_irq0;
462         }
463 -       ret = request_irq(bmac->intrs[2].line, bmac_rxdma_intr, 0, "BMAC-rxdma", dev);
464 +       ret = request_irq(bmac->intrs[2].line, bmac_rxdma_intr,
465 +                       SA_SAMPLE_NET_RANDOM, "BMAC-rxdma", dev);
466         if (ret) {
467                 printk(KERN_ERR "BMAC: can't get irq %d\n", bmac->intrs[2].line);
468                 goto err_out_irq1;
469 diff -urN linux-2.4.16/drivers/net/cs89x0.c linux/drivers/net/cs89x0.c
470 --- linux-2.4.16/drivers/net/cs89x0.c   Mon Nov 26 15:56:31 2001
471 +++ linux/drivers/net/cs89x0.c  Mon Nov 26 16:13:36 2001
472 @@ -1057,7 +1057,7 @@
473  
474                 for (i = 2; i < CS8920_NO_INTS; i++) {
475                         if ((1 << dev->irq) & lp->irq_map) {
476 -                               if (request_irq(i, net_interrupt, 0, dev->name, dev) == 0) {
477 +                               if (request_irq(i, net_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev) == 0) {
478                                         dev->irq = i;
479                                         write_irq(dev, lp->chip_type, i);
480                                         /* writereg(dev, PP_BufCFG, GENERATE_SW_INTERRUPT); */
481 @@ -1086,7 +1086,8 @@
482                 writereg(dev, PP_BusCTL, ENABLE_IRQ | MEMORY_ON);
483  #endif
484                 write_irq(dev, lp->chip_type, dev->irq);
485 -               ret = request_irq(dev->irq, &net_interrupt, 0, dev->name, dev);
486 +               ret = request_irq(dev->irq, &net_interrupt,
487 +                               SA_SAMPLE_NET_RANDOM, dev->name, dev);
488                 if (ret) {
489                         if (net_debug)
490                                 printk(KERN_DEBUG "cs89x0: request_irq(%d) failed\n", dev->irq);
491 diff -urN linux-2.4.16/drivers/net/daynaport.c linux/drivers/net/daynaport.c
492 --- linux-2.4.16/drivers/net/daynaport.c        Mon Nov 26 15:56:33 2001
493 +++ linux/drivers/net/daynaport.c       Mon Nov 26 16:13:36 2001
494 @@ -643,7 +643,8 @@
495         /*                             - funaho@jurai.org (1999-05-17) */
496  
497         /* Non-slow interrupt, works around issues with the SONIC driver */
498 -       ret = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev); 
499 +       ret = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
500 +                       dev->name, dev); 
501         if (ret) {
502                 printk ("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
503                 return ret;
504 diff -urN linux-2.4.16/drivers/net/de4x5.c linux/drivers/net/de4x5.c
505 --- linux-2.4.16/drivers/net/de4x5.c    Mon Nov 26 15:56:32 2001
506 +++ linux/drivers/net/de4x5.c   Mon Nov 26 16:13:36 2001
507 @@ -1404,11 +1404,12 @@
508      lp->state = OPEN;
509      de4x5_dbg_open(dev);
510      
511 -    if (request_irq(dev->irq, (void *)de4x5_interrupt, SA_SHIRQ, 
512 -                                                    lp->adapter_name, dev)) {
513 +    if (request_irq(dev->irq, (void *)de4x5_interrupt,
514 +            SA_SHIRQ | SA_SAMPLE_NET_RANDOM, lp->adapter_name, dev)) {
515         printk("de4x5_open(): Requested IRQ%d is busy - attemping FAST/SHARE...", dev->irq);
516 -       if (request_irq(dev->irq, de4x5_interrupt, SA_INTERRUPT | SA_SHIRQ,
517 -                                                    lp->adapter_name, dev)) {
518 +       if (request_irq(dev->irq, de4x5_interrupt,
519 +                SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
520 +               lp->adapter_name, dev)) {
521             printk("\n              Cannot get IRQ- reconfigure your hardware.\n");
522             disable_ast(dev);
523             de4x5_free_rx_buffs(dev);
524 diff -urN linux-2.4.16/drivers/net/de600.c linux/drivers/net/de600.c
525 --- linux-2.4.16/drivers/net/de600.c    Mon Nov 26 15:56:31 2001
526 +++ linux/drivers/net/de600.c   Mon Nov 26 16:13:36 2001
527 @@ -344,7 +344,8 @@
528  static int
529  de600_open(struct net_device *dev)
530  {
531 -       int ret = request_irq(DE600_IRQ, de600_interrupt, 0, dev->name, dev);
532 +       int ret = request_irq(DE600_IRQ, de600_interrupt, SA_SAMPLE_NET_RANDOM,
533 +                       dev->name, dev);
534         if (ret) {
535                 printk ("%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
536                 return ret;
537 diff -urN linux-2.4.16/drivers/net/de620.c linux/drivers/net/de620.c
538 --- linux-2.4.16/drivers/net/de620.c    Mon Nov 26 15:56:31 2001
539 +++ linux/drivers/net/de620.c   Mon Nov 26 16:13:36 2001
540 @@ -443,7 +443,8 @@
541   */
542  static int de620_open(struct net_device *dev)
543  {
544 -       int ret = request_irq(dev->irq, de620_interrupt, 0, dev->name, dev);
545 +       int ret = request_irq(dev->irq, de620_interrupt, SA_SAMPLE_NET_RANDOM,
546 +                       dev->name, dev);
547         if (ret) {
548                 printk (KERN_ERR "%s: unable to get IRQ %d\n", dev->name, dev->irq);
549                 return ret;
550 diff -urN linux-2.4.16/drivers/net/declance.c linux/drivers/net/declance.c
551 --- linux-2.4.16/drivers/net/declance.c Mon Nov 26 15:56:34 2001
552 +++ linux/drivers/net/declance.c        Mon Nov 26 16:13:36 2001
553 @@ -800,7 +800,8 @@
554         netif_start_queue(dev);
555  
556         /* Associate IRQ with lance_interrupt */
557 -       if (request_irq(dev->irq, &lance_interrupt, 0, lp->name, dev)) {
558 +       if (request_irq(dev->irq, &lance_interrupt, SA_SAMPLE_NET_RANDOM,
559 +                               lp->name, dev)) {
560                 printk("Lance: Can't get irq %d\n", dev->irq);
561                 return -EAGAIN;
562         }
563 diff -urN linux-2.4.16/drivers/net/defxx.c linux/drivers/net/defxx.c
564 --- linux-2.4.16/drivers/net/defxx.c    Mon Nov 26 15:56:32 2001
565 +++ linux/drivers/net/defxx.c   Mon Nov 26 16:13:36 2001
566 @@ -1218,7 +1218,8 @@
567         
568         /* Register IRQ - support shared interrupts by passing device ptr */
569  
570 -       ret = request_irq(dev->irq, (void *)dfx_interrupt, SA_SHIRQ, dev->name, dev);
571 +       ret = request_irq(dev->irq, (void *)dfx_interrupt,
572 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
573         if (ret) {
574                 printk(KERN_ERR "%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
575                 return ret;
576 diff -urN linux-2.4.16/drivers/net/depca.c linux/drivers/net/depca.c
577 --- linux-2.4.16/drivers/net/depca.c    Mon Nov 26 15:56:31 2001
578 +++ linux/drivers/net/depca.c   Mon Nov 26 16:13:36 2001
579 @@ -780,7 +780,8 @@
580  
581    depca_dbg_open(dev);
582  
583 -  if (request_irq(dev->irq, &depca_interrupt, 0, lp->adapter_name, dev)) {
584 +  if (request_irq(dev->irq, &depca_interrupt, SA_SAMPLE_NET_RANDOM,
585 +                         lp->adapter_name, dev)) {
586      printk("depca_open(): Requested IRQ%d is busy\n",dev->irq);
587      status = -EAGAIN;
588    } else {
589 diff -urN linux-2.4.16/drivers/net/dgrs.c linux/drivers/net/dgrs.c
590 --- linux-2.4.16/drivers/net/dgrs.c     Mon Nov 26 15:56:32 2001
591 +++ linux/drivers/net/dgrs.c    Mon Nov 26 16:13:36 2001
592 @@ -1178,7 +1178,8 @@
593          */
594         if (priv->plxreg)
595                 OUTL(dev->base_addr + PLX_LCL2PCI_DOORBELL, 1);
596 -       rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ, "RightSwitch", dev);
597 +       rc = request_irq(dev->irq, &dgrs_intr, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
598 +                       "RightSwitch", dev);
599         if (rc)
600                 return (rc);
601  
602 diff -urN linux-2.4.16/drivers/net/dl2k.c linux/drivers/net/dl2k.c
603 --- linux-2.4.16/drivers/net/dl2k.c     Mon Nov 26 15:56:33 2001
604 +++ linux/drivers/net/dl2k.c    Mon Nov 26 16:13:36 2001
605 @@ -386,7 +386,8 @@
606         long ioaddr = dev->base_addr;
607         int i;
608  
609 -       i = request_irq (dev->irq, &rio_interrupt, SA_SHIRQ, dev->name, dev);
610 +       i = request_irq (dev->irq, &rio_interrupt,
611 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
612         if (i)
613                 return i;
614  
615 diff -urN linux-2.4.16/drivers/net/dmfe.c linux/drivers/net/dmfe.c
616 --- linux-2.4.16/drivers/net/dmfe.c     Mon Nov 26 15:56:33 2001
617 +++ linux/drivers/net/dmfe.c    Mon Nov 26 16:13:36 2001
618 @@ -562,7 +562,8 @@
619  
620         DMFE_DBUG(0, "dmfe_open", 0);
621  
622 -       ret = request_irq(dev->irq, &dmfe_interrupt, SA_SHIRQ, dev->name, dev);
623 +       ret = request_irq(dev->irq, &dmfe_interrupt,
624 +               SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
625         if (ret)
626                 return ret;
627  
628 diff -urN linux-2.4.16/drivers/net/e2100.c linux/drivers/net/e2100.c
629 --- linux-2.4.16/drivers/net/e2100.c    Mon Nov 26 15:56:31 2001
630 +++ linux/drivers/net/e2100.c   Mon Nov 26 16:13:36 2001
631 @@ -261,7 +261,8 @@
632         short ioaddr = dev->base_addr;
633         int retval;
634  
635 -       if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev)))
636 +       if ((retval = request_irq(dev->irq, ei_interrupt,
637 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev)))
638                 return retval;
639  
640         /* Set the interrupt line and memory base on the hardware. */
641 diff -urN linux-2.4.16/drivers/net/eepro.c linux/drivers/net/eepro.c
642 --- linux-2.4.16/drivers/net/eepro.c    Mon Nov 26 15:56:32 2001
643 +++ linux/drivers/net/eepro.c   Mon Nov 26 16:14:10 2001
644 @@ -962,7 +962,7 @@
645                 return -EAGAIN;
646         }
647  
648 -       if (request_irq(dev->irq , &eepro_interrupt, 0, dev->name, dev)) {
649 +       if (request_irq(dev->irq , &eepro_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev)) {
650                 printk(KERN_ERR "%s: unable to get IRQ %d.\n", dev->name, dev->irq);
651                 return -EAGAIN;
652         }
653 diff -urN linux-2.4.16/drivers/net/eepro100.c linux/drivers/net/eepro100.c
654 --- linux-2.4.16/drivers/net/eepro100.c Mon Nov 26 15:56:32 2001
655 +++ linux/drivers/net/eepro100.c        Mon Nov 26 16:13:36 2001
656 @@ -943,7 +943,8 @@
657         sp->in_interrupt = 0;
658  
659         /* .. we can safely take handler calls during init. */
660 -       retval = request_irq(dev->irq, &speedo_interrupt, SA_SHIRQ, dev->name, dev);
661 +       retval = request_irq(dev->irq, &speedo_interrupt,
662 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
663         if (retval) {
664                 MOD_DEC_USE_COUNT;
665                 return retval;
666 diff -urN linux-2.4.16/drivers/net/eexpress.c linux/drivers/net/eexpress.c
667 --- linux-2.4.16/drivers/net/eexpress.c Mon Nov 26 15:56:31 2001
668 +++ linux/drivers/net/eexpress.c        Mon Nov 26 16:13:36 2001
669 @@ -433,7 +433,8 @@
670         if (!dev->irq || !irqrmap[dev->irq])
671                 return -ENXIO;
672  
673 -       ret = request_irq(dev->irq,&eexp_irq,0,dev->name,dev);
674 +       ret = request_irq(dev->irq,&eexp_irq,SA_SAMPLE_NET_RANDOM,
675 +                       dev->name,dev);
676         if (ret) return ret;
677  
678         request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress");
679 diff -urN linux-2.4.16/drivers/net/epic100.c linux/drivers/net/epic100.c
680 --- linux-2.4.16/drivers/net/epic100.c  Mon Nov 26 15:56:33 2001
681 +++ linux/drivers/net/epic100.c Mon Nov 26 16:13:36 2001
682 @@ -661,7 +661,8 @@
683         /* Soft reset the chip. */
684         outl(0x4001, ioaddr + GENCTL);
685  
686 -       if ((retval = request_irq(dev->irq, &epic_interrupt, SA_SHIRQ, dev->name, dev)))
687 +       if ((retval = request_irq(dev->irq, &epic_interrupt,
688 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)))
689                 return retval;
690  
691         epic_init_ring(dev);
692 diff -urN linux-2.4.16/drivers/net/es3210.c linux/drivers/net/es3210.c
693 --- linux-2.4.16/drivers/net/es3210.c   Mon Nov 26 15:56:32 2001
694 +++ linux/drivers/net/es3210.c  Mon Nov 26 16:13:36 2001
695 @@ -212,7 +212,8 @@
696                 printk(" assigning IRQ %d", dev->irq);
697         }
698  
699 -       if (request_irq(dev->irq, ei_interrupt, 0, "es3210", dev)) {
700 +       if (request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
701 +                       "es3210", dev)) {
702                 printk (" unable to get IRQ %d.\n", dev->irq);
703                 retval = -EAGAIN;
704                 goto out;
705 diff -urN linux-2.4.16/drivers/net/eth16i.c linux/drivers/net/eth16i.c
706 --- linux-2.4.16/drivers/net/eth16i.c   Mon Nov 26 15:56:32 2001
707 +++ linux/drivers/net/eth16i.c  Mon Nov 26 16:13:36 2001
708 @@ -521,7 +521,8 @@
709  
710         /* Try to obtain interrupt vector */
711  
712 -       if ((retval = request_irq(dev->irq, (void *)&eth16i_interrupt, 0, dev->name, dev))) {
713 +       if ((retval = request_irq(dev->irq, (void *)&eth16i_interrupt,
714 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
715                 printk(KERN_WARNING "%s: %s at %#3x, but is unusable due conflicting IRQ %d.\n", 
716                        dev->name, cardname, ioaddr, dev->irq);
717                 goto out;
718 diff -urN linux-2.4.16/drivers/net/ewrk3.c linux/drivers/net/ewrk3.c
719 --- linux-2.4.16/drivers/net/ewrk3.c    Mon Nov 26 15:56:31 2001
720 +++ linux/drivers/net/ewrk3.c   Mon Nov 26 16:13:36 2001
721 @@ -640,7 +640,8 @@
722         STOP_EWRK3;
723  
724         if (!lp->hard_strapped) {
725 -               if (request_irq(dev->irq, (void *) ewrk3_interrupt, 0, "ewrk3", dev)) {
726 +               if (request_irq(dev->irq, (void *) ewrk3_interrupt,
727 +                               SA_SAMPLE_NET_RANDOM, "ewrk3", dev)) {
728                         printk("ewrk3_open(): Requested IRQ%d is busy\n", dev->irq);
729                         status = -EAGAIN;
730                 } else {
731 diff -urN linux-2.4.16/drivers/net/fc/iph5526.c linux/drivers/net/fc/iph5526.c
732 --- linux-2.4.16/drivers/net/fc/iph5526.c       Mon Nov 26 15:56:34 2001
733 +++ linux/drivers/net/fc/iph5526.c      Mon Nov 26 16:13:36 2001
734 @@ -3844,7 +3844,7 @@
735                 int irqval = 0;
736                         /* Found it, get IRQ.
737                          */
738 -                       irqval = request_irq(pci_irq_line, &tachyon_interrupt, pci_irq_line ? SA_SHIRQ : 0, fi->name, host);
739 +                       irqval = request_irq(pci_irq_line, &tachyon_interrupt, pci_irq_line ? SA_SHIRQ : 0 | SA_SAMPLE_NET_RANDOM, fi->name, host);
740                         if (irqval) {
741                                 printk("iph5526.c : Unable to get IRQ %d (irqval = %d).\n", pci_irq_line, irqval);
742                                 scsi_unregister(host);
743 diff -urN linux-2.4.16/drivers/net/fealnx.c linux/drivers/net/fealnx.c
744 --- linux-2.4.16/drivers/net/fealnx.c   Mon Nov 26 15:56:34 2001
745 +++ linux/drivers/net/fealnx.c  Mon Nov 26 16:13:36 2001
746 @@ -865,7 +865,8 @@
747  
748         writel(0x00000001, ioaddr + BCR);       /* Reset */
749  
750 -       if (request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev))
751 +       if (request_irq(dev->irq, &intr_handler,
752 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev))
753                 return -EAGAIN;
754  
755         init_ring(dev);
756 diff -urN linux-2.4.16/drivers/net/fmv18x.c linux/drivers/net/fmv18x.c
757 --- linux-2.4.16/drivers/net/fmv18x.c   Mon Nov 26 15:56:32 2001
758 +++ linux/drivers/net/fmv18x.c  Mon Nov 26 16:13:36 2001
759 @@ -200,7 +200,8 @@
760         }
761  
762         /* Snarf the interrupt vector now. */
763 -       retval = request_irq(irq, &net_interrupt, 0, dev->name, dev);
764 +       retval = request_irq(irq, &net_interrupt, SA_SAMPLE_NET_RANDOM,
765 +                       dev->name, dev);
766         if (retval) {
767                 printk ("FMV-18x found at %#3x, but it's unusable due to a conflict on"
768                                 "IRQ %d.\n", ioaddr, irq);
769 diff -urN linux-2.4.16/drivers/net/gmac.c linux/drivers/net/gmac.c
770 --- linux-2.4.16/drivers/net/gmac.c     Mon Nov 26 15:56:33 2001
771 +++ linux/drivers/net/gmac.c    Mon Nov 26 16:13:36 2001
772 @@ -1082,7 +1082,8 @@
773                 return -EIO;
774  
775         /* Get our interrupt */
776 -       ret = request_irq(dev->irq, gmac_interrupt, 0, dev->name, dev);
777 +       ret = request_irq(dev->irq, gmac_interrupt,
778 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev);
779         if (ret) {
780                 printk(KERN_ERR "%s can't get irq %d\n", dev->name, dev->irq);
781                 return ret;
782 diff -urN linux-2.4.16/drivers/net/gt96100eth.c linux/drivers/net/gt96100eth.c
783 --- linux-2.4.16/drivers/net/gt96100eth.c       Mon Nov 26 15:56:34 2001
784 +++ linux/drivers/net/gt96100eth.c      Mon Nov 26 16:13:36 2001
785 @@ -826,7 +826,8 @@
786                 printk("%s: gt96100_open: dev=%p\n", dev->name, dev);
787  
788         if ((retval = request_irq(dev->irq, &gt96100_interrupt,
789 -                                 SA_SHIRQ, dev->name, dev))) {
790 +                                 SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
791 +                                 dev->name, dev))) {
792                 printk(KERN_ERR "%s: unable to get IRQ %d\n", dev->name,
793                        dev->irq);
794                 MOD_DEC_USE_COUNT;
795 diff -urN linux-2.4.16/drivers/net/hamachi.c linux/drivers/net/hamachi.c
796 --- linux-2.4.16/drivers/net/hamachi.c  Mon Nov 26 15:56:34 2001
797 +++ linux/drivers/net/hamachi.c Mon Nov 26 16:13:36 2001
798 @@ -849,7 +849,8 @@
799         u32 rx_int_var, tx_int_var;
800         u16 fifo_info;
801  
802 -       i = request_irq(dev->irq, &hamachi_interrupt, SA_SHIRQ, dev->name, dev);
803 +       i = request_irq(dev->irq, &hamachi_interrupt,
804 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
805         if (i)
806                 return i;
807  
808 diff -urN linux-2.4.16/drivers/net/hamradio/baycom_ser_fdx.c linux/drivers/net/hamradio/baycom_ser_fdx.c
809 --- linux-2.4.16/drivers/net/hamradio/baycom_ser_fdx.c  Mon Nov 26 15:56:32 2001
810 +++ linux/drivers/net/hamradio/baycom_ser_fdx.c Mon Nov 26 16:13:36 2001
811 @@ -428,7 +428,8 @@
812         outb(0, FCR(dev->base_addr));  /* disable FIFOs */
813         outb(0x0d, MCR(dev->base_addr));
814         outb(0, IER(dev->base_addr));
815 -       if (request_irq(dev->irq, ser12_interrupt, SA_INTERRUPT | SA_SHIRQ,
816 +       if (request_irq(dev->irq, ser12_interrupt,
817 +                       SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
818                         "baycom_ser_fdx", dev))
819                 return -EBUSY;
820         request_region(dev->base_addr, SER12_EXTENT, "baycom_ser_fdx");
821 diff -urN linux-2.4.16/drivers/net/hamradio/baycom_ser_hdx.c linux/drivers/net/hamradio/baycom_ser_hdx.c
822 --- linux-2.4.16/drivers/net/hamradio/baycom_ser_hdx.c  Mon Nov 26 15:56:32 2001
823 +++ linux/drivers/net/hamradio/baycom_ser_hdx.c Mon Nov 26 16:13:36 2001
824 @@ -485,7 +485,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_SAMPLE_NET_RANDOM,
831                         "baycom_ser12", dev))
832                 return -EBUSY;
833         request_region(dev->base_addr, SER12_EXTENT, "baycom_ser12");
834 diff -urN linux-2.4.16/drivers/net/hamradio/dmascc.c linux/drivers/net/hamradio/dmascc.c
835 --- linux-2.4.16/drivers/net/hamradio/dmascc.c  Mon Nov 26 15:56:32 2001
836 +++ linux/drivers/net/hamradio/dmascc.c Mon Nov 26 16:13:36 2001
837 @@ -712,7 +712,7 @@
838  
839    /* Request IRQ if not already used by other channel */
840    if (!info->irq_used) {
841 -    if (request_irq(dev->irq, scc_isr, 0, "dmascc", info)) {
842 +    if (request_irq(dev->irq, scc_isr, SA_SAMPLE_NET_RANDOM, "dmascc", info)) {
843        MOD_DEC_USE_COUNT;
844        return -EAGAIN;
845      }
846 diff -urN linux-2.4.16/drivers/net/hamradio/scc.c linux/drivers/net/hamradio/scc.c
847 --- linux-2.4.16/drivers/net/hamradio/scc.c     Mon Nov 26 15:56:32 2001
848 +++ linux/drivers/net/hamradio/scc.c    Mon Nov 26 16:13:36 2001
849 @@ -1769,7 +1769,7 @@
850                                 
851                         if (!Ivec[hwcfg.irq].used && hwcfg.irq)
852                         {
853 -                               if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT, "AX.25 SCC", NULL))
854 +                               if (request_irq(hwcfg.irq, scc_isr, SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, "AX.25 SCC", NULL))
855                                         printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq);
856                                 else
857                                         Ivec[hwcfg.irq].used = 1;
858 diff -urN linux-2.4.16/drivers/net/hamradio/soundmodem/sm_sbc.c linux/drivers/net/hamradio/soundmodem/sm_sbc.c
859 --- linux-2.4.16/drivers/net/hamradio/soundmodem/sm_sbc.c       Mon Nov 26 15:56:32 2001
860 +++ linux/drivers/net/hamradio/soundmodem/sm_sbc.c      Mon Nov 26 16:13:36 2001
861 @@ -436,7 +436,8 @@
862                 kfree(sm->dma.obuf);
863                 return -EBUSY;
864         }
865 -       if (request_irq(dev->irq, sbc_interrupt, SA_INTERRUPT, 
866 +       if (request_irq(dev->irq, sbc_interrupt,
867 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, 
868                         sm->hwdrv->hw_name, dev)) {
869                 free_dma(dev->dma);
870                 kfree(sm->dma.obuf);
871 @@ -815,7 +816,8 @@
872                 free_dma(dev->dma);
873                 return -EBUSY;
874         }
875 -       if (request_irq(dev->irq, sbcfdx_interrupt, SA_INTERRUPT, 
876 +       if (request_irq(dev->irq, sbcfdx_interrupt,
877 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, 
878                         sm->hwdrv->hw_name, dev)) {
879                 kfree(sm->dma.ibuf);
880                 kfree(sm->dma.obuf);
881 diff -urN linux-2.4.16/drivers/net/hamradio/soundmodem/sm_wss.c linux/drivers/net/hamradio/soundmodem/sm_wss.c
882 --- linux-2.4.16/drivers/net/hamradio/soundmodem/sm_wss.c       Mon Nov 26 15:56:32 2001
883 +++ linux/drivers/net/hamradio/soundmodem/sm_wss.c      Mon Nov 26 16:13:36 2001
884 @@ -473,7 +473,8 @@
885                 kfree(sm->dma.obuf);
886                 return -EBUSY;
887         }
888 -       if (request_irq(dev->irq, wss_interrupt, SA_INTERRUPT, 
889 +       if (request_irq(dev->irq, wss_interrupt,
890 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
891                         sm->hwdrv->hw_name, dev)) {
892                 free_dma(dev->dma);
893                 kfree(sm->dma.obuf);
894 @@ -827,7 +828,8 @@
895                 free_dma(dev->dma);
896                 return -EBUSY;
897         }
898 -       if (request_irq(dev->irq, wssfdx_interrupt, SA_INTERRUPT, 
899 +       if (request_irq(dev->irq, wssfdx_interrupt,
900 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
901                         sm->hwdrv->hw_name, dev)) {
902                 kfree(sm->dma.ibuf);
903                 kfree(sm->dma.obuf);
904 diff -urN linux-2.4.16/drivers/net/hamradio/yam.c linux/drivers/net/hamradio/yam.c
905 --- linux-2.4.16/drivers/net/hamradio/yam.c     Mon Nov 26 15:56:32 2001
906 +++ linux/drivers/net/hamradio/yam.c    Mon Nov 26 16:13:36 2001
907 @@ -861,7 +861,7 @@
908                 return -EIO;
909         }
910         outb(0, IER(dev->base_addr));
911 -       if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ, dev->name, dev)) {
912 +       if (request_irq(dev->irq, yam_interrupt, SA_INTERRUPT | SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)) {
913                 printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);
914                 return -EBUSY;
915         }
916 diff -urN linux-2.4.16/drivers/net/hp-plus.c linux/drivers/net/hp-plus.c
917 --- linux-2.4.16/drivers/net/hp-plus.c  Mon Nov 26 15:56:31 2001
918 +++ linux/drivers/net/hp-plus.c Mon Nov 26 16:13:36 2001
919 @@ -253,7 +253,8 @@
920         int option_reg;
921         int retval;
922  
923 -       if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
924 +       if ((retval = request_irq(dev->irq, ei_interrupt,
925 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
926             return retval;
927         }
928  
929 diff -urN linux-2.4.16/drivers/net/hp.c linux/drivers/net/hp.c
930 --- linux-2.4.16/drivers/net/hp.c       Mon Nov 26 15:56:31 2001
931 +++ linux/drivers/net/hp.c      Mon Nov 26 16:13:36 2001
932 @@ -157,8 +157,7 @@
933                                 /* Twinkle the interrupt, and check if it's seen. */
934                                 outb_p(irqmap[irq] | HP_RUN, ioaddr + HP_CONFIGURE);
935                                 outb_p( 0x00 | HP_RUN, ioaddr + HP_CONFIGURE);
936 -                               if (irq == probe_irq_off(cookie)                 /* It's a good IRQ line! */
937 -                                       && request_irq (irq, ei_interrupt, 0, dev->name, dev) == 0) {
938 +                               if (irq == probe_irq_off(cookie) /* It's a good IRQ line! */ && request_irq (irq, ei_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev) == 0) {
939                                         printk(" selecting IRQ %d.\n", irq);
940                                         dev->irq = *irqp;
941                                         break;
942 diff -urN linux-2.4.16/drivers/net/hp100.c linux/drivers/net/hp100.c
943 --- linux-2.4.16/drivers/net/hp100.c    Mon Nov 26 15:56:32 2001
944 +++ linux/drivers/net/hp100.c   Mon Nov 26 16:13:36 2001
945 @@ -1124,8 +1124,9 @@
946  
947         /* New: if bus is PCI or EISA, interrupts might be shared interrupts */
948         if (request_irq(dev->irq, hp100_interrupt,
949 -                       lp->bus == HP100_BUS_PCI || lp->bus ==
950 -                       HP100_BUS_EISA ? SA_SHIRQ : SA_INTERRUPT,
951 +                       (lp->bus == HP100_BUS_PCI || lp->bus ==
952 +                       HP100_BUS_EISA ? SA_SHIRQ : SA_INTERRUPT) |
953 +                       SA_SAMPLE_NET_RANDOM,
954                         lp->id->name, dev)) {
955                 printk("hp100: %s: unable to get IRQ %d\n", dev->name, dev->irq);
956                 return -EAGAIN;
957 diff -urN linux-2.4.16/drivers/net/hydra.c linux/drivers/net/hydra.c
958 --- linux-2.4.16/drivers/net/hydra.c    Mon Nov 26 15:56:32 2001
959 +++ linux/drivers/net/hydra.c   Mon Nov 26 16:13:36 2001
960 @@ -129,8 +129,8 @@
961      dev->irq = IRQ_AMIGA_PORTS;
962  
963      /* Install the Interrupt handler */
964 -    if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt, SA_SHIRQ, "Hydra Ethernet",
965 -                   dev))
966 +    if (request_irq(IRQ_AMIGA_PORTS, ei_interrupt,
967 +            SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "Hydra Ethernet", dev))
968         return -EAGAIN;
969  
970      /* Allocate dev->priv and fill in 8390 specific dev fields. */
971 diff -urN linux-2.4.16/drivers/net/ibmlana.c linux/drivers/net/ibmlana.c
972 --- linux-2.4.16/drivers/net/ibmlana.c  Mon Nov 26 15:56:34 2001
973 +++ linux/drivers/net/ibmlana.c Mon Nov 26 16:13:36 2001
974 @@ -856,7 +856,7 @@
975  
976         result =
977             request_irq(priv->realirq, irq_handler,
978 -                       SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
979 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
980         if (result != 0) {
981                 printk("%s: failed to register irq %d\n", dev->name,
982                        dev->irq);
983 diff -urN linux-2.4.16/drivers/net/ioc3-eth.c linux/drivers/net/ioc3-eth.c
984 --- linux-2.4.16/drivers/net/ioc3-eth.c Mon Nov 26 15:56:34 2001
985 +++ linux/drivers/net/ioc3-eth.c        Mon Nov 26 16:13:36 2001
986 @@ -1313,7 +1313,8 @@
987  {
988         struct ioc3_private *ip = dev->priv;
989  
990 -       if (request_irq(dev->irq, ioc3_interrupt, SA_SHIRQ, ioc3_str, dev)) {
991 +       if (request_irq(dev->irq, ioc3_interrupt,
992 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, ioc3_str, dev)) {
993                 printk(KERN_ERR "%s: Can't get irq %d\n", dev->name, dev->irq);
994  
995                 return -EAGAIN;
996 diff -urN linux-2.4.16/drivers/net/irda/ali-ircc.c linux/drivers/net/irda/ali-ircc.c
997 --- linux-2.4.16/drivers/net/irda/ali-ircc.c    Mon Nov 26 15:56:33 2001
998 +++ linux/drivers/net/irda/ali-ircc.c   Mon Nov 26 16:13:36 2001
999 @@ -1357,7 +1357,8 @@
1000         iobase = self->io.fir_base;
1001         
1002         /* Request IRQ and install Interrupt Handler */
1003 -       if (request_irq(self->io.irq, ali_ircc_interrupt, 0, dev->name, dev)) 
1004 +       if (request_irq(self->io.irq, ali_ircc_interrupt,
1005 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev)) 
1006         {
1007                 WARNING("%s, unable to allocate irq=%d\n", driver_name, 
1008                         self->io.irq);
1009 diff -urN linux-2.4.16/drivers/net/irda/irport.c linux/drivers/net/irda/irport.c
1010 --- linux-2.4.16/drivers/net/irda/irport.c      Mon Nov 26 15:56:33 2001
1011 +++ linux/drivers/net/irda/irport.c     Mon Nov 26 16:13:36 2001
1012 @@ -783,8 +783,8 @@
1013  
1014         iobase = self->io.sir_base;
1015  
1016 -       if (request_irq(self->io.irq, self->interrupt, 0, dev->name, 
1017 -                       (void *) dev)) {
1018 +       if (request_irq(self->io.irq, self->interrupt,
1019 +                       SA_SAMPLE_NET_RANDOM, dev->name, (void *) dev)) {
1020                 IRDA_DEBUG(0, __FUNCTION__ "(), unable to allocate irq=%d\n",
1021                            self->io.irq);
1022                 return -EAGAIN;
1023 diff -urN linux-2.4.16/drivers/net/irda/nsc-ircc.c linux/drivers/net/irda/nsc-ircc.c
1024 --- linux-2.4.16/drivers/net/irda/nsc-ircc.c    Mon Nov 26 15:56:33 2001
1025 +++ linux/drivers/net/irda/nsc-ircc.c   Mon Nov 26 16:13:36 2001
1026 @@ -1848,7 +1848,8 @@
1027         
1028         iobase = self->io.fir_base;
1029         
1030 -       if (request_irq(self->io.irq, nsc_ircc_interrupt, 0, dev->name, dev)) {
1031 +       if (request_irq(self->io.irq, nsc_ircc_interrupt,
1032 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev)) {
1033                 WARNING("%s, unable to allocate irq=%d\n", driver_name, 
1034                         self->io.irq);
1035                 return -EAGAIN;
1036 diff -urN linux-2.4.16/drivers/net/irda/toshoboe.c linux/drivers/net/irda/toshoboe.c
1037 --- linux-2.4.16/drivers/net/irda/toshoboe.c    Mon Nov 26 15:56:33 2001
1038 +++ linux/drivers/net/irda/toshoboe.c   Mon Nov 26 16:13:36 2001
1039 @@ -525,7 +525,8 @@
1040      return 0;
1041  
1042    if (request_irq (self->io.irq, toshoboe_interrupt,
1043 -                   SA_SHIRQ | SA_INTERRUPT, dev->name, (void *) self))
1044 +                   SA_SHIRQ | SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
1045 +                  dev->name, (void *) self))
1046      {
1047  
1048        return -EAGAIN;
1049 diff -urN linux-2.4.16/drivers/net/irda/vlsi_ir.c linux/drivers/net/irda/vlsi_ir.c
1050 --- linux-2.4.16/drivers/net/irda/vlsi_ir.c     Mon Nov 26 15:56:33 2001
1051 +++ linux/drivers/net/irda/vlsi_ir.c    Mon Nov 26 16:13:36 2001
1052 @@ -832,8 +832,8 @@
1053  
1054         outb(IRINTR_INT_MASK, ndev->base_addr+VLSI_PIO_IRINTR);
1055  
1056 -       if (request_irq(ndev->irq, vlsi_interrupt, SA_SHIRQ,
1057 -                       drivername, ndev)) {
1058 +       if (request_irq(ndev->irq, vlsi_interrupt,
1059 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, drivername, ndev)) {
1060                 printk(KERN_ERR "%s: couldn't get IRQ: %d\n",
1061                         __FUNCTION__, ndev->irq);
1062                 pci_release_regions(pdev);
1063 diff -urN linux-2.4.16/drivers/net/isa-skeleton.c linux/drivers/net/isa-skeleton.c
1064 --- linux-2.4.16/drivers/net/isa-skeleton.c     Mon Nov 26 15:56:34 2001
1065 +++ linux/drivers/net/isa-skeleton.c    Mon Nov 26 16:13:36 2001
1066 @@ -216,7 +216,8 @@
1067                 dev->irq = 9;
1068  
1069         {
1070 -               int irqval = request_irq(dev->irq, &net_interrupt, 0, cardname, dev);
1071 +               int irqval = request_irq(dev->irq, &net_interrupt,
1072 +                               SA_SAMPLE_NET_RANDOM, cardname, dev);
1073                 if (irqval) {
1074                         printk("%s: unable to get IRQ %d (irqval=%d).\n",
1075                                    dev->name, dev->irq, irqval);
1076 diff -urN linux-2.4.16/drivers/net/lance.c linux/drivers/net/lance.c
1077 --- linux-2.4.16/drivers/net/lance.c    Mon Nov 26 15:56:31 2001
1078 +++ linux/drivers/net/lance.c   Mon Nov 26 16:13:36 2001
1079 @@ -672,7 +672,8 @@
1080         int i;
1081  
1082         if (dev->irq == 0 ||
1083 -               request_irq(dev->irq, &lance_interrupt, 0, lp->name, dev)) {
1084 +               request_irq(dev->irq, &lance_interrupt,
1085 +                               SA_SAMPLE_NET_RANDOM, lp->name, dev)) {
1086                 return -EAGAIN;
1087         }
1088  
1089 diff -urN linux-2.4.16/drivers/net/lasi_82596.c linux/drivers/net/lasi_82596.c
1090 --- linux-2.4.16/drivers/net/lasi_82596.c       Mon Nov 26 15:56:34 2001
1091 +++ linux/drivers/net/lasi_82596.c      Mon Nov 26 16:13:36 2001
1092 @@ -999,7 +999,8 @@
1093  
1094         MOD_INC_USE_COUNT;
1095  
1096 -       if (request_irq(dev->irq, &i596_interrupt, 0, "i82596", dev)) {
1097 +       if (request_irq(dev->irq, &i596_interrupt, SA_SAMPLE_NET_RANDOM,
1098 +                       "i82596", dev)) {
1099                 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1100                 goto out;
1101         }
1102 diff -urN linux-2.4.16/drivers/net/lne390.c linux/drivers/net/lne390.c
1103 --- linux-2.4.16/drivers/net/lne390.c   Mon Nov 26 15:56:32 2001
1104 +++ linux/drivers/net/lne390.c  Mon Nov 26 16:13:36 2001
1105 @@ -197,7 +197,8 @@
1106         }
1107         printk(" IRQ %d,", dev->irq);
1108  
1109 -       if ((ret = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev))) {
1110 +       if ((ret = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1111 +                       dev->name, dev))) {
1112                 printk (" unable to get IRQ %d.\n", dev->irq);
1113                 kfree(dev->priv);
1114                 dev->priv = NULL;
1115 diff -urN linux-2.4.16/drivers/net/lp486e.c linux/drivers/net/lp486e.c
1116 --- linux-2.4.16/drivers/net/lp486e.c   Mon Nov 26 15:56:33 2001
1117 +++ linux/drivers/net/lp486e.c  Mon Nov 26 16:13:36 2001
1118 @@ -844,7 +844,8 @@
1119  i596_open(struct net_device *dev) {
1120         int i;
1121  
1122 -       i = request_irq(dev->irq, &i596_interrupt, SA_SHIRQ, dev->name, dev);
1123 +       i = request_irq(dev->irq, &i596_interrupt,
1124 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1125         if (i) {
1126                 printk("%s: IRQ %d not free\n", dev->name, dev->irq);
1127                 return i;
1128 diff -urN linux-2.4.16/drivers/net/mac89x0.c linux/drivers/net/mac89x0.c
1129 --- linux-2.4.16/drivers/net/mac89x0.c  Mon Nov 26 15:56:34 2001
1130 +++ linux/drivers/net/mac89x0.c Mon Nov 26 16:13:36 2001
1131 @@ -329,7 +329,8 @@
1132         writereg(dev, PP_BusCTL, readreg(dev, PP_BusCTL) & ~ENABLE_IRQ);
1133  
1134         /* Grab the interrupt */
1135 -       if (request_irq(dev->irq, &net_interrupt, 0, "cs89x0", dev))
1136 +       if (request_irq(dev->irq, &net_interrupt, SA_SAMPLE_NET_RANDOM,
1137 +                       "cs89x0", dev))
1138                 return -EAGAIN;
1139  
1140         /* Set up the IRQ - Apparently magic */
1141 diff -urN linux-2.4.16/drivers/net/mace.c linux/drivers/net/mace.c
1142 --- linux-2.4.16/drivers/net/mace.c     Mon Nov 26 15:56:33 2001
1143 +++ linux/drivers/net/mace.c    Mon Nov 26 16:13:36 2001
1144 @@ -210,13 +210,14 @@
1145  
1146         mace_reset(dev);
1147  
1148 -       if (request_irq(dev->irq, mace_interrupt, 0, "MACE", dev))
1149 +       if (request_irq(dev->irq, mace_interrupt, SA_SAMPLE_NET_RANDOM,
1150 +                       "MACE", dev))
1151                 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1152 -       if (request_irq(mace->intrs[1].line, mace_txdma_intr, 0, "MACE-txdma",
1153 -                       dev))
1154 +       if (request_irq(mace->intrs[1].line, mace_txdma_intr,
1155 +                       SA_SAMPLE_NET_RANDOM, "MACE-txdma", dev))
1156                 printk(KERN_ERR "MACE: can't get irq %d\n", mace->intrs[1].line);
1157 -       if (request_irq(mace->intrs[2].line, mace_rxdma_intr, 0, "MACE-rxdma",
1158 -                       dev))
1159 +       if (request_irq(mace->intrs[2].line, mace_rxdma_intr,
1160 +                       SA_SAMPLE_NET_RANDOM, "MACE-rxdma", dev))
1161                 printk(KERN_ERR "MACE: can't get irq %d\n", mace->intrs[2].line);
1162  
1163         mp->next_mace = mace_devs;
1164 diff -urN linux-2.4.16/drivers/net/macmace.c linux/drivers/net/macmace.c
1165 --- linux-2.4.16/drivers/net/macmace.c  Mon Nov 26 15:56:34 2001
1166 +++ linux/drivers/net/macmace.c Mon Nov 26 16:13:36 2001
1167 @@ -422,7 +422,8 @@
1168          *      The interrupt is fixed and comes off the PSC.
1169          */
1170          
1171 -       if (request_irq(dev->irq, mace68k_interrupt, 0, "68K MACE", dev))
1172 +       if (request_irq(dev->irq, mace68k_interrupt,
1173 +                       SA_SAMPLE_NET_RANDOM, "68K MACE", dev))
1174         {
1175                 printk(KERN_ERR "MACE: can't get irq %d\n", dev->irq);
1176                 return -EAGAIN;
1177 diff -urN linux-2.4.16/drivers/net/myri_sbus.c linux/drivers/net/myri_sbus.c
1178 --- linux-2.4.16/drivers/net/myri_sbus.c        Mon Nov 26 15:56:32 2001
1179 +++ linux/drivers/net/myri_sbus.c       Mon Nov 26 16:13:36 2001
1180 @@ -1062,7 +1062,8 @@
1181         /* Register interrupt handler now. */
1182         DET(("Requesting MYRIcom IRQ line.\n"));
1183         if (request_irq(dev->irq, &myri_interrupt,
1184 -                       SA_SHIRQ, "MyriCOM Ethernet", (void *) dev)) {
1185 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "MyriCOM Ethernet",
1186 +                       (void *) dev)) {
1187                 printk("MyriCOM: Cannot register interrupt handler.\n");
1188                 goto err;
1189         }
1190 diff -urN linux-2.4.16/drivers/net/natsemi.c linux/drivers/net/natsemi.c
1191 --- linux-2.4.16/drivers/net/natsemi.c  Mon Nov 26 15:56:34 2001
1192 +++ linux/drivers/net/natsemi.c Mon Nov 26 16:13:36 2001
1193 @@ -1018,7 +1018,8 @@
1194         /* Reset the chip, just in case. */
1195         natsemi_reset(dev);
1196  
1197 -       i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1198 +       i = request_irq(dev->irq, &intr_handler,
1199 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1200         if (i) return i;
1201  
1202         if (debug > 1)
1203 diff -urN linux-2.4.16/drivers/net/ne.c linux/drivers/net/ne.c
1204 --- linux-2.4.16/drivers/net/ne.c       Mon Nov 26 15:56:31 2001
1205 +++ linux/drivers/net/ne.c      Mon Nov 26 16:13:36 2001
1206 @@ -427,7 +427,8 @@
1207  
1208         /* Snarf the interrupt now.  There's no point in waiting since we cannot
1209            share and the board will usually be enabled. */
1210 -       ret = request_irq(dev->irq, ei_interrupt, 0, name, dev);
1211 +       ret = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1212 +                       name, dev);
1213         if (ret) {
1214                 printk (" unable to get IRQ %d (errno=%d).\n", dev->irq, ret);
1215                 goto err_out_kfree;
1216 diff -urN linux-2.4.16/drivers/net/ne2.c linux/drivers/net/ne2.c
1217 --- linux-2.4.16/drivers/net/ne2.c      Mon Nov 26 15:56:33 2001
1218 +++ linux/drivers/net/ne2.c     Mon Nov 26 16:13:36 2001
1219 @@ -439,7 +439,8 @@
1220  
1221         /* Snarf the interrupt now.  There's no point in waiting since we cannot
1222            share and the board will usually be enabled. */
1223 -       retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1224 +       retval = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1225 +                       dev->name, dev);
1226         if (retval) {
1227                 printk (" unable to get IRQ %d (irqval=%d).\n", 
1228                                 dev->irq, retval);
1229 diff -urN linux-2.4.16/drivers/net/ne2k-pci.c linux/drivers/net/ne2k-pci.c
1230 --- linux-2.4.16/drivers/net/ne2k-pci.c Mon Nov 26 15:56:33 2001
1231 +++ linux/drivers/net/ne2k-pci.c        Mon Nov 26 16:13:36 2001
1232 @@ -389,7 +389,8 @@
1233  
1234  static int ne2k_pci_open(struct net_device *dev)
1235  {
1236 -       int ret = request_irq(dev->irq, ei_interrupt, SA_SHIRQ, dev->name, dev);
1237 +       int ret = request_irq(dev->irq, ei_interrupt,
1238 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1239         if (ret)
1240                 return ret;
1241  
1242 diff -urN linux-2.4.16/drivers/net/ne3210.c linux/drivers/net/ne3210.c
1243 --- linux-2.4.16/drivers/net/ne3210.c   Mon Nov 26 15:56:32 2001
1244 +++ linux/drivers/net/ne3210.c  Mon Nov 26 16:13:36 2001
1245 @@ -189,7 +189,8 @@
1246         }
1247         printk(" IRQ %d,", dev->irq);
1248  
1249 -       retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1250 +       retval = request_irq(dev->irq, ei_interrupt,
1251 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev);
1252         if (retval) {
1253                 printk (" unable to get IRQ %d.\n", dev->irq);
1254                 goto out1;
1255 diff -urN linux-2.4.16/drivers/net/ni5010.c linux/drivers/net/ni5010.c
1256 --- linux-2.4.16/drivers/net/ni5010.c   Mon Nov 26 15:56:33 2001
1257 +++ linux/drivers/net/ni5010.c  Mon Nov 26 16:13:36 2001
1258 @@ -354,7 +354,8 @@
1259  
1260         PRINTK2((KERN_DEBUG "%s: entering ni5010_open()\n", dev->name)); 
1261         
1262 -       if (request_irq(dev->irq, &ni5010_interrupt, 0, boardname, dev)) {
1263 +       if (request_irq(dev->irq, &ni5010_interrupt, SA_SAMPLE_NET_RANDOM,
1264 +                               boardname, dev)) {
1265                 printk(KERN_WARNING "%s: Cannot get irq %#2x\n", dev->name, dev->irq);
1266                 return -EAGAIN;
1267         }
1268 diff -urN linux-2.4.16/drivers/net/ni52.c linux/drivers/net/ni52.c
1269 --- linux-2.4.16/drivers/net/ni52.c     Mon Nov 26 15:56:31 2001
1270 +++ linux/drivers/net/ni52.c    Mon Nov 26 16:13:36 2001
1271 @@ -264,7 +264,8 @@
1272         startrecv586(dev);
1273         ni_enaint();
1274  
1275 -       ret = request_irq(dev->irq, &ni52_interrupt,0,dev->name,dev);
1276 +       ret = request_irq(dev->irq, &ni52_interrupt,SA_SAMPLE_NET_RANDOM,
1277 +                       dev->name,dev);
1278         if (ret)
1279         {
1280                 ni_reset586();
1281 diff -urN linux-2.4.16/drivers/net/ni65.c linux/drivers/net/ni65.c
1282 --- linux-2.4.16/drivers/net/ni65.c     Mon Nov 26 15:56:31 2001
1283 +++ linux/drivers/net/ni65.c    Mon Nov 26 16:13:36 2001
1284 @@ -269,7 +269,7 @@
1285  static int ni65_open(struct net_device *dev)
1286  {
1287         struct priv *p = (struct priv *) dev->priv;
1288 -       int irqval = request_irq(dev->irq, &ni65_interrupt,0,
1289 +       int irqval = request_irq(dev->irq, &ni65_interrupt,SA_SAMPLE_NET_RANDOM,
1290                          cards[p->cardno].cardname,dev);
1291         if (irqval) {
1292                 printk ("%s: unable to get IRQ %d (irqval=%d).\n",
1293 diff -urN linux-2.4.16/drivers/net/ns83820.c linux/drivers/net/ns83820.c
1294 --- linux-2.4.16/drivers/net/ns83820.c  Mon Nov 26 15:56:34 2001
1295 +++ linux/drivers/net/ns83820.c Mon Nov 26 16:13:36 2001
1296 @@ -1279,8 +1279,8 @@
1297         setup_ee_mem_bitbanger(&dev->ee, (long)dev->base + MEAR, 3, 2, 1, 0,
1298                 0);
1299  
1300 -       err = request_irq(pci_dev->irq, ns83820_irq, SA_SHIRQ,
1301 -                         dev->net_dev.name, dev);
1302 +       err = request_irq(pci_dev->irq, ns83820_irq,
1303 +               SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->net_dev.name, dev);
1304         if (err) {
1305                 printk(KERN_INFO "ns83820: unable to register irq %d\n",
1306                         pci_dev->irq);
1307 diff -urN linux-2.4.16/drivers/net/oaknet.c linux/drivers/net/oaknet.c
1308 --- linux-2.4.16/drivers/net/oaknet.c   Mon Nov 26 15:56:33 2001
1309 +++ linux/drivers/net/oaknet.c  Mon Nov 26 16:13:36 2001
1310 @@ -183,7 +183,8 @@
1311         /* Attempt to get the interrupt line */
1312  
1313         ret = -EAGAIN;
1314 -       if (request_irq(dev->irq, ei_interrupt, 0, name, dev)) {
1315 +       if (request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1316 +                               name, dev)) {
1317                 printk("%s: unable to request interrupt %d.\n",
1318                        dev->name, dev->irq);
1319                 goto out_priv;
1320 diff -urN linux-2.4.16/drivers/net/pci-skeleton.c linux/drivers/net/pci-skeleton.c
1321 --- linux-2.4.16/drivers/net/pci-skeleton.c     Mon Nov 26 15:56:34 2001
1322 +++ linux/drivers/net/pci-skeleton.c    Mon Nov 26 16:13:36 2001
1323 @@ -1086,7 +1086,8 @@
1324  
1325         DPRINTK ("ENTER\n");
1326  
1327 -       retval = request_irq (dev->irq, netdrv_interrupt, SA_SHIRQ, dev->name, dev);
1328 +       retval = request_irq (dev->irq, netdrv_interrupt,
1329 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1330         if (retval) {
1331                 DPRINTK ("EXIT, returning %d\n", retval);
1332                 return retval;
1333 diff -urN linux-2.4.16/drivers/net/pcmcia/pcnet_cs.c linux/drivers/net/pcmcia/pcnet_cs.c
1334 --- linux-2.4.16/drivers/net/pcmcia/pcnet_cs.c  Mon Nov 26 15:56:34 2001
1335 +++ linux/drivers/net/pcmcia/pcnet_cs.c Mon Nov 26 16:13:36 2001
1336 @@ -1025,7 +1025,7 @@
1337      MOD_INC_USE_COUNT;
1338  
1339      set_misc_reg(dev);
1340 -    request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
1341 +    request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev_info, dev);
1342  
1343      info->phy_id = info->eth_phy;
1344      info->link_status = 0x00;
1345 diff -urN linux-2.4.16/drivers/net/pcmcia/xircom_tulip_cb.c linux/drivers/net/pcmcia/xircom_tulip_cb.c
1346 --- linux-2.4.16/drivers/net/pcmcia/xircom_tulip_cb.c   Mon Nov 26 15:56:34 2001
1347 +++ linux/drivers/net/pcmcia/xircom_tulip_cb.c  Mon Nov 26 16:13:36 2001
1348 @@ -797,7 +797,8 @@
1349  {
1350         struct xircom_private *tp = dev->priv;
1351  
1352 -       if (request_irq(dev->irq, &xircom_interrupt, SA_SHIRQ, dev->name, dev))
1353 +       if (request_irq(dev->irq, &xircom_interrupt,
1354 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev))
1355                 return -EAGAIN;
1356  
1357         xircom_init_ring(dev);
1358 diff -urN linux-2.4.16/drivers/net/pcnet32.c linux/drivers/net/pcnet32.c
1359 --- linux-2.4.16/drivers/net/pcnet32.c  Mon Nov 26 15:56:32 2001
1360 +++ linux/drivers/net/pcnet32.c Mon Nov 26 16:13:36 2001
1361 @@ -807,7 +807,8 @@
1362  
1363      if (dev->irq == 0 ||
1364         request_irq(dev->irq, &pcnet32_interrupt,
1365 -                   lp->shared_irq ? SA_SHIRQ : 0, lp->name, (void *)dev)) {
1366 +                   lp->shared_irq ? SA_SHIRQ : 0 | SA_SAMPLE_NET_RANDOM,
1367 +                   lp->name, (void *)dev)) {
1368         return -EAGAIN;
1369      }
1370  
1371 diff -urN linux-2.4.16/drivers/net/rcpci45.c linux/drivers/net/rcpci45.c
1372 --- linux-2.4.16/drivers/net/rcpci45.c  Mon Nov 26 15:56:33 2001
1373 +++ linux/drivers/net/rcpci45.c Mon Nov 26 16:13:37 2001
1374 @@ -290,7 +290,8 @@
1375         dprintk ("(rcpci45 driver:) RCopen\n");
1376  
1377         /* Request a shared interrupt line. */
1378 -       error = request_irq (dev->irq, RCinterrupt, SA_SHIRQ, dev->name, dev);
1379 +       error = request_irq (dev->irq, RCinterrupt,
1380 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1381         if (error) {
1382                 printk (KERN_ERR "(rcpci45 driver:) %s: unable to get IRQ %d\n",
1383                         dev->name, dev->irq);
1384 diff -urN linux-2.4.16/drivers/net/rrunner.c linux/drivers/net/rrunner.c
1385 --- linux-2.4.16/drivers/net/rrunner.c  Mon Nov 26 15:56:33 2001
1386 +++ linux/drivers/net/rrunner.c Mon Nov 26 16:13:37 2001
1387 @@ -1227,7 +1227,8 @@
1388         writel(readl(&regs->HostCtrl)|HALT_NIC|RR_CLEAR_INT, &regs->HostCtrl);
1389         spin_unlock_irqrestore(&rrpriv->lock, flags);
1390  
1391 -       if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ, rrpriv->name, dev))
1392 +       if (request_irq(dev->irq, rr_interrupt, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1393 +                       rrpriv->name, dev))
1394         {
1395                 printk(KERN_WARNING "%s: Requested IRQ %d is busy\n",
1396                        dev->name, dev->irq);
1397 diff -urN linux-2.4.16/drivers/net/saa9730.c linux/drivers/net/saa9730.c
1398 --- linux-2.4.16/drivers/net/saa9730.c  Mon Nov 26 15:56:34 2001
1399 +++ linux/drivers/net/saa9730.c Mon Nov 26 16:13:37 2001
1400 @@ -786,8 +786,8 @@
1401             (struct lan_saa9730_private *) dev->priv;
1402  
1403         /* Associate IRQ with lan_saa9730_interrupt */
1404 -       if (request_irq(dev->irq, &lan_saa9730_interrupt, 0, "SAA9730 Eth",
1405 -                       dev)) {
1406 +       if (request_irq(dev->irq, &lan_saa9730_interrupt, SA_SAMPLE_NET_RANDOM,
1407 +                       "SAA9730 Eth", dev)) {
1408                 printk("lan_saa9730_open: Can't get irq %d\n", dev->irq);
1409                 return -EAGAIN;
1410         }
1411 diff -urN linux-2.4.16/drivers/net/sb1000.c linux/drivers/net/sb1000.c
1412 --- linux-2.4.16/drivers/net/sb1000.c   Mon Nov 26 15:56:33 2001
1413 +++ linux/drivers/net/sb1000.c  Mon Nov 26 16:13:37 2001
1414 @@ -992,7 +992,8 @@
1415         lp->rx_frame_id[1] = 0;
1416         lp->rx_frame_id[2] = 0;
1417         lp->rx_frame_id[3] = 0;
1418 -       if (request_irq(dev->irq, &sb1000_interrupt, 0, "sb1000", dev)) {
1419 +       if (request_irq(dev->irq, &sb1000_interrupt, SA_SAMPLE_NET_RANDOM,
1420 +                       "sb1000", dev)) {
1421                 return -EAGAIN;
1422         }
1423  
1424 diff -urN linux-2.4.16/drivers/net/seeq8005.c linux/drivers/net/seeq8005.c
1425 --- linux-2.4.16/drivers/net/seeq8005.c Mon Nov 26 15:56:32 2001
1426 +++ linux/drivers/net/seeq8005.c        Mon Nov 26 16:13:37 2001
1427 @@ -347,7 +347,7 @@
1428         struct net_local *lp = (struct net_local *)dev->priv;
1429  
1430         {
1431 -                int irqval = request_irq(dev->irq, &seeq8005_interrupt, 0, "seeq8005", dev);
1432 +                int irqval = request_irq(dev->irq, &seeq8005_interrupt, SA_SAMPLE_NET_RANDOM, "seeq8005", dev);
1433                  if (irqval) {
1434                          printk ("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1435                                          dev->irq, irqval);
1436 diff -urN linux-2.4.16/drivers/net/sgiseeq.c linux/drivers/net/sgiseeq.c
1437 --- linux-2.4.16/drivers/net/sgiseeq.c  Mon Nov 26 15:56:33 2001
1438 +++ linux/drivers/net/sgiseeq.c Mon Nov 26 16:13:37 2001
1439 @@ -452,7 +452,8 @@
1440         int err;
1441  
1442         save_flags(flags); cli();
1443 -       if (request_irq(dev->irq, sgiseeq_interrupt, 0, sgiseeqstr, (void *) dev)) {
1444 +       if (request_irq(dev->irq, sgiseeq_interrupt, SA_SAMPLE_NET_RANDOM,
1445 +                       sgiseeqstr, (void *) dev)) {
1446                 printk("Seeq8003: Can't get irq %d\n", dev->irq);
1447                 restore_flags(flags);
1448                 return -EAGAIN;
1449 diff -urN linux-2.4.16/drivers/net/sis900.c linux/drivers/net/sis900.c
1450 --- linux-2.4.16/drivers/net/sis900.c   Mon Nov 26 15:56:33 2001
1451 +++ linux/drivers/net/sis900.c  Mon Nov 26 16:13:37 2001
1452 @@ -857,7 +857,9 @@
1453         pci_read_config_byte(sis_priv->pci_dev, PCI_CLASS_REVISION, &revision);
1454         sis630_set_eq(net_dev, revision);
1455  
1456 -       ret = request_irq(net_dev->irq, &sis900_interrupt, SA_SHIRQ, net_dev->name, net_dev);
1457 +       ret = request_irq(net_dev->irq, &sis900_interrupt,
1458 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1459 +                       net_dev->name, net_dev);
1460         if (ret)
1461                 return ret;
1462  
1463 diff -urN linux-2.4.16/drivers/net/sk98lin/skge.c linux/drivers/net/sk98lin/skge.c
1464 --- linux-2.4.16/drivers/net/sk98lin/skge.c     Mon Nov 26 15:56:33 2001
1465 +++ linux/drivers/net/sk98lin/skge.c    Mon Nov 26 16:13:37 2001
1466 @@ -867,10 +867,11 @@
1467         spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);
1468  
1469         if (pAC->GIni.GIMacsFound == 2) {
1470 -                Ret = request_irq(dev->irq, SkGeIsr, SA_SHIRQ, pAC->Name, dev);
1471 +               Ret = request_irq(dev->irq, SkGeIsr,
1472 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, pAC->Name, dev);
1473         } else if (pAC->GIni.GIMacsFound == 1) {
1474 -               Ret = request_irq(dev->irq, SkGeIsrOnePort, SA_SHIRQ,
1475 -                       pAC->Name, dev);
1476 +               Ret = request_irq(dev->irq, SkGeIsrOnePort,
1477 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, pAC->Name, dev);
1478         } else {
1479                 printk(KERN_WARNING "%s: illegal number of ports: %d\n",
1480                        dev->name, pAC->GIni.GIMacsFound);
1481 diff -urN linux-2.4.16/drivers/net/sk_g16.c linux/drivers/net/sk_g16.c
1482 --- linux-2.4.16/drivers/net/sk_g16.c   Mon Nov 26 15:56:31 2001
1483 +++ linux/drivers/net/sk_g16.c  Mon Nov 26 16:13:37 2001
1484 @@ -947,7 +947,8 @@
1485  
1486         do
1487         {
1488 -         irqval = request_irq(irqtab[i], &SK_interrupt, 0, "sk_g16", dev);
1489 +         irqval = request_irq(irqtab[i], &SK_interrupt, SA_SAMPLE_NET_RANDOM,
1490 +                         "sk_g16", dev);
1491           i++;
1492         } while (irqval && irqtab[i]);
1493  
1494 diff -urN linux-2.4.16/drivers/net/sk_mca.c linux/drivers/net/sk_mca.c
1495 --- linux-2.4.16/drivers/net/sk_mca.c   Mon Nov 26 15:56:32 2001
1496 +++ linux/drivers/net/sk_mca.c  Mon Nov 26 16:13:37 2001
1497 @@ -861,7 +861,7 @@
1498         /* register resources - only necessary for IRQ */
1499         result =
1500             request_irq(priv->realirq, irq_handler,
1501 -                       SA_SHIRQ | SA_SAMPLE_RANDOM, "sk_mca", dev);
1502 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "sk_mca", dev);
1503         if (result != 0) {
1504                 printk("%s: failed to register irq %d\n", dev->name,
1505                        dev->irq);
1506 diff -urN linux-2.4.16/drivers/net/skfp/skfddi.c linux/drivers/net/skfp/skfddi.c
1507 --- linux-2.4.16/drivers/net/skfp/skfddi.c      Mon Nov 26 15:56:33 2001
1508 +++ linux/drivers/net/skfp/skfddi.c     Mon Nov 26 16:13:37 2001
1509 @@ -774,8 +774,8 @@
1510  
1511         PRINTK(KERN_INFO "entering skfp_open\n");
1512         /* Register IRQ - support shared interrupts by passing device ptr */
1513 -       if (request_irq(dev->irq, (void *) skfp_interrupt, SA_SHIRQ,
1514 -                       dev->name, dev)) {
1515 +       if (request_irq(dev->irq, (void *) skfp_interrupt,
1516 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)) {
1517                 printk("%s: Requested IRQ %d is busy\n", dev->name, dev->irq);
1518                 return (-EAGAIN);
1519         }
1520 diff -urN linux-2.4.16/drivers/net/smc-mca.c linux/drivers/net/smc-mca.c
1521 --- linux-2.4.16/drivers/net/smc-mca.c  Mon Nov 26 15:56:32 2001
1522 +++ linux/drivers/net/smc-mca.c Mon Nov 26 16:13:37 2001
1523 @@ -325,7 +325,8 @@
1524         int ioaddr = dev->base_addr - ULTRA_NIC_OFFSET; /* ASIC addr */
1525         int retval;
1526  
1527 -       if ((retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev)))
1528 +       if ((retval = request_irq(dev->irq, ei_interrupt,
1529 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev)))
1530                 return retval;
1531  
1532         outb(ULTRA_MEMENB, ioaddr); /* Enable memory */
1533 diff -urN linux-2.4.16/drivers/net/smc-ultra.c linux/drivers/net/smc-ultra.c
1534 --- linux-2.4.16/drivers/net/smc-ultra.c        Mon Nov 26 15:56:31 2001
1535 +++ linux/drivers/net/smc-ultra.c       Mon Nov 26 16:13:37 2001
1536 @@ -329,7 +329,8 @@
1537         unsigned char irq2reg[] = {0, 0, 0x04, 0x08, 0, 0x0C, 0, 0x40,
1538                                    0, 0x04, 0x44, 0x48, 0, 0, 0, 0x4C, };
1539  
1540 -       retval = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
1541 +       retval = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM,
1542 +                       dev->name, dev);
1543         if (retval)
1544                 return retval;
1545  
1546 diff -urN linux-2.4.16/drivers/net/smc-ultra32.c linux/drivers/net/smc-ultra32.c
1547 --- linux-2.4.16/drivers/net/smc-ultra32.c      Mon Nov 26 15:56:33 2001
1548 +++ linux/drivers/net/smc-ultra32.c     Mon Nov 26 16:13:37 2001
1549 @@ -256,6 +256,8 @@
1550         int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ;
1551         int retval;
1552  
1553 +       irq_flags |= SA_SAMPLE_NET_RANDOM;
1554 +
1555         retval = request_irq(dev->irq, ei_interrupt, irq_flags, dev->name, dev);
1556         if (retval)
1557                 return retval;
1558 diff -urN linux-2.4.16/drivers/net/smc9194.c linux/drivers/net/smc9194.c
1559 --- linux-2.4.16/drivers/net/smc9194.c  Mon Nov 26 15:56:32 2001
1560 +++ linux/drivers/net/smc9194.c Mon Nov 26 16:13:37 2001
1561 @@ -1017,7 +1017,7 @@
1562         ether_setup(dev);
1563  
1564         /* Grab the IRQ */
1565 -       retval = request_irq(dev->irq, &smc_interrupt, 0, dev->name, dev);
1566 +       retval = request_irq(dev->irq, &smc_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev);
1567         if (retval) {
1568                 printk("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
1569                         dev->irq, retval);
1570 diff -urN linux-2.4.16/drivers/net/sonic.c linux/drivers/net/sonic.c
1571 --- linux-2.4.16/drivers/net/sonic.c    Mon Nov 26 15:56:33 2001
1572 +++ linux/drivers/net/sonic.c   Mon Nov 26 16:13:37 2001
1573 @@ -42,8 +42,8 @@
1574   * this glue works ok under all situations.
1575   */
1576  //    if (sonic_request_irq(dev->irq, &sonic_interrupt, 0, "sonic", dev)) {
1577 -       if (sonic_request_irq(dev->irq, &sonic_interrupt, SA_INTERRUPT,
1578 -                             "sonic", dev)) {
1579 +       if (sonic_request_irq(dev->irq, &sonic_interrupt,
1580 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, "sonic", dev)) {
1581                 printk("\n%s: unable to get IRQ %d .\n", dev->name, dev->irq);
1582                 return -EAGAIN;
1583         }
1584 diff -urN linux-2.4.16/drivers/net/starfire.c linux/drivers/net/starfire.c
1585 --- linux-2.4.16/drivers/net/starfire.c Mon Nov 26 15:56:32 2001
1586 +++ linux/drivers/net/starfire.c        Mon Nov 26 16:13:37 2001
1587 @@ -828,7 +828,8 @@
1588  
1589         COMPAT_MOD_INC_USE_COUNT;
1590  
1591 -       retval = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1592 +       retval = request_irq(dev->irq, &intr_handler,
1593 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1594         if (retval) {
1595                 COMPAT_MOD_DEC_USE_COUNT;
1596                 return retval;
1597 diff -urN linux-2.4.16/drivers/net/stnic.c linux/drivers/net/stnic.c
1598 --- linux-2.4.16/drivers/net/stnic.c    Mon Nov 26 15:56:33 2001
1599 +++ linux/drivers/net/stnic.c   Mon Nov 26 16:13:37 2001
1600 @@ -135,7 +135,7 @@
1601  
1602    /* Snarf the interrupt now.  There's no point in waiting since we cannot
1603       share and the board will usually be enabled. */
1604 -  i = request_irq (dev->irq, ei_interrupt, 0, dev->name, dev);
1605 +  i = request_irq(dev->irq, ei_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev);
1606    if (i)  {
1607        printk (KERN_EMERG " unable to get IRQ %d.\n", dev->irq);
1608        unregister_netdev(dev);
1609 diff -urN linux-2.4.16/drivers/net/sun3lance.c linux/drivers/net/sun3lance.c
1610 --- linux-2.4.16/drivers/net/sun3lance.c        Mon Nov 26 15:56:34 2001
1611 +++ linux/drivers/net/sun3lance.c       Mon Nov 26 16:13:37 2001
1612 @@ -318,7 +318,8 @@
1613  
1614         REGA(CSR0) = CSR0_STOP; 
1615  
1616 -       request_irq(LANCE_IRQ, lance_interrupt, 0, "SUN3 Lance", dev);
1617 +       request_irq(LANCE_IRQ, lance_interrupt, SA_SAMPLE_NET_RANDOM,
1618 +                       "SUN3 Lance", dev);
1619         dev->irq = (unsigned short)LANCE_IRQ;
1620  
1621  
1622 diff -urN linux-2.4.16/drivers/net/sunbmac.c linux/drivers/net/sunbmac.c
1623 --- linux-2.4.16/drivers/net/sunbmac.c  Mon Nov 26 15:56:33 2001
1624 +++ linux/drivers/net/sunbmac.c Mon Nov 26 16:13:37 2001
1625 @@ -904,7 +904,8 @@
1626         struct bigmac *bp = (struct bigmac *) dev->priv;
1627         int ret;
1628  
1629 -       ret = request_irq(dev->irq, &bigmac_interrupt, SA_SHIRQ, dev->name, bp);
1630 +       ret = request_irq(dev->irq, &bigmac_interrupt,
1631 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, bp);
1632         if (ret) {
1633                 printk(KERN_ERR "BIGMAC: Can't order irq %d to go.\n", dev->irq);
1634                 return ret;
1635 diff -urN linux-2.4.16/drivers/net/sundance.c linux/drivers/net/sundance.c
1636 --- linux-2.4.16/drivers/net/sundance.c Mon Nov 26 15:56:34 2001
1637 +++ linux/drivers/net/sundance.c        Mon Nov 26 16:13:37 2001
1638 @@ -738,7 +738,8 @@
1639  
1640         /* Do we need to reset the chip??? */
1641  
1642 -       i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
1643 +       i = request_irq(dev->irq, &intr_handler,
1644 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1645         if (i)
1646                 return i;
1647  
1648 diff -urN linux-2.4.16/drivers/net/sungem.c linux/drivers/net/sungem.c
1649 --- linux-2.4.16/drivers/net/sungem.c   Mon Nov 26 15:56:33 2001
1650 +++ linux/drivers/net/sungem.c  Mon Nov 26 16:13:37 2001
1651 @@ -1761,7 +1761,8 @@
1652          * on the controller
1653          */
1654         if (request_irq(gp->pdev->irq, gem_interrupt,
1655 -                       SA_SHIRQ, dev->name, (void *)dev)) {
1656 +               SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1657 +               dev->name, (void *)dev)) {
1658  #ifdef CONFIG_ALL_PPC
1659                 if (gp->pdev->vendor == PCI_VENDOR_ID_APPLE)
1660                         gem_apple_powerdown(gp);
1661 diff -urN linux-2.4.16/drivers/net/sunhme.c linux/drivers/net/sunhme.c
1662 --- linux-2.4.16/drivers/net/sunhme.c   Mon Nov 26 15:56:32 2001
1663 +++ linux/drivers/net/sunhme.c  Mon Nov 26 16:13:37 2001
1664 @@ -2219,7 +2219,8 @@
1665          */
1666         if ((hp->happy_flags & (HFLAG_QUATTRO|HFLAG_PCI)) != HFLAG_QUATTRO) {
1667                 if (request_irq(dev->irq, &happy_meal_interrupt,
1668 -                               SA_SHIRQ, "HAPPY MEAL", (void *)dev)) {
1669 +                               SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1670 +                               "HAPPY MEAL", (void *)dev)) {
1671                         HMD(("EAGAIN\n"));
1672  #ifdef __sparc__
1673                         printk(KERN_ERR "happy_meal(SBUS): Can't order irq %s to go.\n",
1674 diff -urN linux-2.4.16/drivers/net/sunlance.c linux/drivers/net/sunlance.c
1675 --- linux-2.4.16/drivers/net/sunlance.c Mon Nov 26 15:56:32 2001
1676 +++ linux/drivers/net/sunlance.c        Mon Nov 26 16:13:37 2001
1677 @@ -923,7 +923,8 @@
1678  
1679         last_dev = dev;
1680  
1681 -       if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ,
1682 +       if (request_irq(dev->irq, &lance_interrupt,
1683 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1684                         lancestr, (void *) dev)) {
1685                 printk(KERN_ERR "Lance: Can't get irq %s\n", __irq_itoa(dev->irq));
1686                 return -EAGAIN;
1687 diff -urN linux-2.4.16/drivers/net/sunqe.c linux/drivers/net/sunqe.c
1688 --- linux-2.4.16/drivers/net/sunqe.c    Mon Nov 26 15:56:32 2001
1689 +++ linux/drivers/net/sunqe.c   Mon Nov 26 16:13:37 2001
1690 @@ -895,7 +895,8 @@
1691          * for it now.
1692          */
1693         if (request_irq(sdev->irqs[0], &qec_interrupt,
1694 -                       SA_SHIRQ, "QuadEther", (void *) qecp)) {
1695 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1696 +                       "QuadEther", (void *) qecp)) {
1697                 printk(KERN_ERR "QuadEther: Can't register QEC master irq handler.\n");
1698                 res = EAGAIN;
1699                 goto qec_free_devs;
1700 diff -urN linux-2.4.16/drivers/net/tlan.c linux/drivers/net/tlan.c
1701 --- linux-2.4.16/drivers/net/tlan.c     Mon Nov 26 15:56:31 2001
1702 +++ linux/drivers/net/tlan.c    Mon Nov 26 16:13:37 2001
1703 @@ -871,7 +871,8 @@
1704         int             err;
1705         
1706         priv->tlanRev = TLan_DioRead8( dev->base_addr, TLAN_DEF_REVISION );
1707 -       err = request_irq( dev->irq, TLan_HandleInterrupt, SA_SHIRQ, TLanSignature, dev );
1708 +       err = request_irq( dev->irq, TLan_HandleInterrupt,
1709 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, TLanSignature, dev );
1710         
1711         if ( err ) {
1712                 printk(KERN_ERR "TLAN:  Cannot open %s because IRQ %d is already in use.\n", dev->name, dev->irq );
1713 diff -urN linux-2.4.16/drivers/net/tokenring/abyss.c linux/drivers/net/tokenring/abyss.c
1714 --- linux-2.4.16/drivers/net/tokenring/abyss.c  Mon Nov 26 15:56:32 2001
1715 +++ linux/drivers/net/tokenring/abyss.c Mon Nov 26 16:13:37 2001
1716 @@ -123,8 +123,8 @@
1717                 goto err_out_trdev;
1718         }
1719                 
1720 -       ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1721 -                         dev->name, dev);
1722 +       ret = request_irq(pdev->irq, tms380tr_interrupt,
1723 +                         SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1724         if (ret)
1725                 goto err_out_region;
1726                 
1727 diff -urN linux-2.4.16/drivers/net/tokenring/ibmtr.c linux/drivers/net/tokenring/ibmtr.c
1728 --- linux-2.4.16/drivers/net/tokenring/ibmtr.c  Mon Nov 26 15:56:32 2001
1729 +++ linux/drivers/net/tokenring/ibmtr.c Mon Nov 26 16:13:37 2001
1730 @@ -662,7 +662,8 @@
1731  
1732         /* The PCMCIA has already got the interrupt line and the io port, 
1733            so no chance of anybody else getting it - MLP */
1734 -       if (request_irq(dev->irq = irq, &tok_interrupt, 0, "ibmtr", dev) != 0) {
1735 +       if (request_irq(dev->irq = irq, &tok_interrupt,
1736 +                       SA_SAMPLE_NET_RANDOM, "ibmtr", dev) != 0) {
1737                 DPRINTK("Could not grab irq %d.  Halting Token Ring driver.\n",
1738                                         irq);
1739                 iounmap(t_mmio);
1740 diff -urN linux-2.4.16/drivers/net/tokenring/lanstreamer.c linux/drivers/net/tokenring/lanstreamer.c
1741 --- linux-2.4.16/drivers/net/tokenring/lanstreamer.c    Mon Nov 26 15:56:32 2001
1742 +++ linux/drivers/net/tokenring/lanstreamer.c   Mon Nov 26 16:13:37 2001
1743 @@ -535,7 +535,8 @@
1744                 rc=streamer_reset(dev);
1745         }
1746  
1747 -       if (request_irq(dev->irq, &streamer_interrupt, SA_SHIRQ, "lanstreamer", dev)) {
1748 +       if (request_irq(dev->irq, &streamer_interrupt,
1749 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "lanstreamer", dev)) {
1750                 return -EAGAIN;
1751         }
1752  #if STREAMER_DEBUG
1753 diff -urN linux-2.4.16/drivers/net/tokenring/madgemc.c linux/drivers/net/tokenring/madgemc.c
1754 --- linux-2.4.16/drivers/net/tokenring/madgemc.c        Mon Nov 26 15:56:32 2001
1755 +++ linux/drivers/net/tokenring/madgemc.c       Mon Nov 26 16:13:37 2001
1756 @@ -331,8 +331,9 @@
1757                  */ 
1758                 outb(0, dev->base_addr + MC_CONTROL_REG0); /* sanity */
1759                 madgemc_setsifsel(dev, 1);
1760 -               if(request_irq(dev->irq, madgemc_interrupt, SA_SHIRQ,
1761 -                              "madgemc", dev)) 
1762 +               if(request_irq(dev->irq, madgemc_interrupt,
1763 +                               SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1764 +                               "madgemc", dev)) 
1765                         goto getout;
1766                 
1767                 madgemc_chipset_init(dev); /* enables interrupts! */
1768 diff -urN linux-2.4.16/drivers/net/tokenring/olympic.c linux/drivers/net/tokenring/olympic.c
1769 --- linux-2.4.16/drivers/net/tokenring/olympic.c        Mon Nov 26 15:56:32 2001
1770 +++ linux/drivers/net/tokenring/olympic.c       Mon Nov 26 16:13:37 2001
1771 @@ -396,7 +396,8 @@
1772         char open_error[255] ; 
1773         int i, open_finished = 1 ;
1774  
1775 -       if(request_irq(dev->irq, &olympic_interrupt, SA_SHIRQ , "olympic", dev)) {
1776 +       if(request_irq(dev->irq, &olympic_interrupt,
1777 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "olympic", dev)) {
1778                 return -EAGAIN;
1779         }
1780  
1781 diff -urN linux-2.4.16/drivers/net/tokenring/smctr.c linux/drivers/net/tokenring/smctr.c
1782 --- linux-2.4.16/drivers/net/tokenring/smctr.c  Mon Nov 26 15:56:32 2001
1783 +++ linux/drivers/net/tokenring/smctr.c Mon Nov 26 16:13:37 2001
1784 @@ -544,7 +544,8 @@
1785                         dev->irq = 15;
1786                                 break;
1787         }
1788 -       if(request_irq(dev->irq, smctr_interrupt, SA_SHIRQ, smctr_name, dev))
1789 +       if(request_irq(dev->irq, smctr_interrupt,
1790 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, smctr_name, dev))
1791                  return (-ENODEV);
1792  
1793         /* Get RAM base */
1794 diff -urN linux-2.4.16/drivers/net/tokenring/tmsisa.c linux/drivers/net/tokenring/tmsisa.c
1795 --- linux-2.4.16/drivers/net/tokenring/tmsisa.c Mon Nov 26 15:56:32 2001
1796 +++ linux/drivers/net/tokenring/tmsisa.c        Mon Nov 26 16:13:37 2001
1797 @@ -184,8 +184,8 @@
1798                 for(j = 0; irqlist[j] != 0; j++)
1799                 {
1800                         dev->irq = irqlist[j];
1801 -                       if (!request_irq(dev->irq, tms380tr_interrupt, 0, 
1802 -                               isa_cardname, dev))
1803 +                       if (!request_irq(dev->irq, tms380tr_interrupt,
1804 +                               SA_SAMPLE_NET_RANDOM, isa_cardname, dev))
1805                                 break;
1806                  }
1807                 
1808 diff -urN linux-2.4.16/drivers/net/tokenring/tmspci.c linux/drivers/net/tokenring/tmspci.c
1809 --- linux-2.4.16/drivers/net/tokenring/tmspci.c Mon Nov 26 15:56:32 2001
1810 +++ linux/drivers/net/tokenring/tmspci.c        Mon Nov 26 16:13:37 2001
1811 @@ -123,8 +123,8 @@
1812                 goto err_out_trdev;
1813         }
1814  
1815 -       ret = request_irq(pdev->irq, tms380tr_interrupt, SA_SHIRQ,
1816 -                         dev->name, dev);
1817 +       ret = request_irq(pdev->irq, tms380tr_interrupt,
1818 +                         SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1819         if (ret)
1820                 goto err_out_region;
1821  
1822 diff -urN linux-2.4.16/drivers/net/tulip/tulip_core.c linux/drivers/net/tulip/tulip_core.c
1823 --- linux-2.4.16/drivers/net/tulip/tulip_core.c Mon Nov 26 15:56:34 2001
1824 +++ linux/drivers/net/tulip/tulip_core.c        Mon Nov 26 16:13:37 2001
1825 @@ -506,7 +506,9 @@
1826         int retval;
1827         MOD_INC_USE_COUNT;
1828  
1829 -       if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) {
1830 +       if ((retval = request_irq(dev->irq, &tulip_interrupt,
1831 +                                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1832 +                                       dev->name, dev))) {
1833                 MOD_DEC_USE_COUNT;
1834                 return retval;
1835         }
1836 diff -urN linux-2.4.16/drivers/net/via-rhine.c linux/drivers/net/via-rhine.c
1837 --- linux-2.4.16/drivers/net/via-rhine.c        Mon Nov 26 15:56:32 2001
1838 +++ linux/drivers/net/via-rhine.c       Mon Nov 26 16:13:38 2001
1839 @@ -1040,7 +1040,8 @@
1840         /* Reset the chip. */
1841         writew(CmdReset, ioaddr + ChipCmd);
1842  
1843 -       i = request_irq(np->pdev->irq, &via_rhine_interrupt, SA_SHIRQ, dev->name, dev);
1844 +       i = request_irq(np->pdev->irq, &via_rhine_interrupt,
1845 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
1846         if (i)
1847                 return i;
1848  
1849 diff -urN linux-2.4.16/drivers/net/wan/c101.c linux/drivers/net/wan/c101.c
1850 --- linux-2.4.16/drivers/net/wan/c101.c Mon Nov 26 15:56:32 2001
1851 +++ linux/drivers/net/wan/c101.c        Mon Nov 26 16:13:38 2001
1852 @@ -251,7 +251,7 @@
1853         }
1854         memset(card, 0, sizeof(card_t));
1855  
1856 -       if (request_irq(irq, sca_intr, 0, devname, card)) {
1857 +       if (request_irq(irq, sca_intr, SA_SAMPLE_NET_RANDOM, devname, card)) {
1858                 printk(KERN_ERR "c101: could not allocate IRQ\n");
1859                 c101_destroy_card(card);
1860                 return(-EBUSY);
1861 diff -urN linux-2.4.16/drivers/net/wan/comx-hw-comx.c linux/drivers/net/wan/comx-hw-comx.c
1862 --- linux-2.4.16/drivers/net/wan/comx-hw-comx.c Mon Nov 26 15:56:32 2001
1863 +++ linux/drivers/net/wan/comx-hw-comx.c        Mon Nov 26 16:13:38 2001
1864 @@ -469,8 +469,8 @@
1865                 if (check_region(dev->base_addr, hw->io_extent)) {
1866                         return -EAGAIN;
1867                 }
1868 -               if (request_irq(dev->irq, COMX_interrupt, 0, dev->name, 
1869 -                  (void *)dev)) {
1870 +               if (request_irq(dev->irq, COMX_interrupt, SA_SAMPLE_NET_RANDOM,
1871 +                               dev->name, (void *)dev)) {
1872                         printk(KERN_ERR "comx-hw-comx: unable to obtain irq %d\n", dev->irq);
1873                         return -EAGAIN;
1874                 }
1875 diff -urN linux-2.4.16/drivers/net/wan/comx-hw-locomx.c linux/drivers/net/wan/comx-hw-locomx.c
1876 --- linux-2.4.16/drivers/net/wan/comx-hw-locomx.c       Mon Nov 26 15:56:32 2001
1877 +++ linux/drivers/net/wan/comx-hw-locomx.c      Mon Nov 26 16:13:38 2001
1878 @@ -172,8 +172,8 @@
1879         hw->board.chanA.irqs=&z8530_nop;
1880         hw->board.chanB.irqs=&z8530_nop;
1881  
1882 -       if(request_irq(dev->irq, z8530_interrupt, SA_INTERRUPT, 
1883 -           dev->name, &hw->board)) {
1884 +       if(request_irq(dev->irq, z8530_interrupt,
1885 +               SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, dev->name, &hw->board)) {
1886                 printk(KERN_ERR "%s: unable to obtain irq %d\n", dev->name, 
1887                         dev->irq);
1888                 ret=-EAGAIN;
1889 diff -urN linux-2.4.16/drivers/net/wan/comx-hw-mixcom.c linux/drivers/net/wan/comx-hw-mixcom.c
1890 --- linux-2.4.16/drivers/net/wan/comx-hw-mixcom.c       Mon Nov 26 15:56:32 2001
1891 +++ linux/drivers/net/wan/comx-hw-mixcom.c      Mon Nov 26 16:13:38 2001
1892 @@ -518,8 +518,8 @@
1893         }
1894  
1895         if(hw->channel==0 && !(ch->init_status & IRQ_ALLOCATED)) {
1896 -               if (request_irq(dev->irq, MIXCOM_interrupt, 0, 
1897 -                   dev->name, (void *)dev)) {
1898 +               if (request_irq(dev->irq, MIXCOM_interrupt,
1899 +                               SA_SAMPLE_NET_RANDOM, dev->name, (void *)dev)) {
1900                         printk(KERN_ERR "MIXCOM: unable to obtain irq %d\n", dev->irq);
1901                         ret = -EAGAIN;
1902                         goto err_release_region;
1903 diff -urN linux-2.4.16/drivers/net/wan/cosa.c linux/drivers/net/wan/cosa.c
1904 --- linux-2.4.16/drivers/net/wan/cosa.c Mon Nov 26 15:56:32 2001
1905 +++ linux/drivers/net/wan/cosa.c        Mon Nov 26 16:13:38 2001
1906 @@ -548,7 +548,8 @@
1907         cosa->nchannels = 2;    /* FIXME: how to determine this? */
1908  
1909         request_region(base, is_8bit(cosa)?2:4, cosa->type);
1910 -       if (request_irq(cosa->irq, cosa_interrupt, 0, cosa->type, cosa))
1911 +       if (request_irq(cosa->irq, cosa_interrupt, SA_SAMPLE_NET_RANDOM,
1912 +                       cosa->type, cosa))
1913                 goto bad1;
1914         if (request_dma(cosa->dma, cosa->type)) {
1915                 free_irq(cosa->irq, cosa);
1916 diff -urN linux-2.4.16/drivers/net/wan/cycx_main.c linux/drivers/net/wan/cycx_main.c
1917 --- linux-2.4.16/drivers/net/wan/cycx_main.c    Mon Nov 26 15:56:32 2001
1918 +++ linux/drivers/net/wan/cycx_main.c   Mon Nov 26 16:13:38 2001
1919 @@ -214,7 +214,8 @@
1920         /* Allocate IRQ */
1921         irq = conf->irq == 2 ? 9 : conf->irq;   /* IRQ2 -> IRQ9 */
1922  
1923 -       if (request_irq(irq, cycx_isr, 0, wandev->name, card)) {
1924 +       if (request_irq(irq, cycx_isr, SA_SAMPLE_NET_RANDOM,
1925 +                       wandev->name, card)) {
1926                 printk(KERN_ERR "%s: can't reserve IRQ %d!\n",
1927                                 wandev->name, irq);
1928                 goto out;
1929 diff -urN linux-2.4.16/drivers/net/wan/dscc4.c linux/drivers/net/wan/dscc4.c
1930 --- linux-2.4.16/drivers/net/wan/dscc4.c        Mon Nov 26 15:56:32 2001
1931 +++ linux/drivers/net/wan/dscc4.c       Mon Nov 26 16:13:38 2001
1932 @@ -506,7 +506,8 @@
1933  
1934         priv = (struct dscc4_pci_priv *)pci_get_drvdata(pdev);
1935  
1936 -       if (request_irq(pdev->irq, &dscc4_irq, SA_SHIRQ, "dscc4", priv->root)) {
1937 +       if (request_irq(pdev->irq, &dscc4_irq, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1938 +                       "dscc4", priv->root)) {
1939                 printk(KERN_WARNING "dscc4: IRQ %d is busy\n", pdev->irq);
1940                 goto err_out_iounmap;
1941         }
1942 diff -urN linux-2.4.16/drivers/net/wan/farsync.c linux/drivers/net/wan/farsync.c
1943 --- linux-2.4.16/drivers/net/wan/farsync.c      Mon Nov 26 15:56:32 2001
1944 +++ linux/drivers/net/wan/farsync.c     Mon Nov 26 16:13:38 2001
1945 @@ -1737,7 +1737,8 @@
1946          card->state = FST_RESET;
1947  
1948          /* Register the interrupt handler */
1949 -        if ( request_irq ( card->irq, fst_intr, SA_SHIRQ, FST_DEV_NAME, card ))
1950 +        if ( request_irq ( card->irq, fst_intr, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
1951 +                       FST_DEV_NAME, card ))
1952          {
1953  
1954                  printk_err ("Unable to register interrupt %d\n", card->irq );
1955 diff -urN linux-2.4.16/drivers/net/wan/hostess_sv11.c linux/drivers/net/wan/hostess_sv11.c
1956 --- linux-2.4.16/drivers/net/wan/hostess_sv11.c Mon Nov 26 15:56:32 2001
1957 +++ linux/drivers/net/wan/hostess_sv11.c        Mon Nov 26 16:13:38 2001
1958 @@ -254,7 +254,9 @@
1959         /* We want a fast IRQ for this device. Actually we'd like an even faster
1960            IRQ ;) - This is one driver RtLinux is made for */
1961            
1962 -       if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "Hostess SV/11", dev)<0)
1963 +       if(request_irq(irq, &z8530_interrupt,
1964 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM,
1965 +                       "Hostess SV/11", dev)<0)
1966         {
1967                 printk(KERN_WARNING "hostess: IRQ %d already in use.\n", irq);
1968                 goto fail1;
1969 diff -urN linux-2.4.16/drivers/net/wan/lmc/lmc_main.c linux/drivers/net/wan/lmc/lmc_main.c
1970 --- linux-2.4.16/drivers/net/wan/lmc/lmc_main.c Mon Nov 26 15:56:32 2001
1971 +++ linux/drivers/net/wan/lmc/lmc_main.c        Mon Nov 26 16:13:38 2001
1972 @@ -1178,7 +1178,8 @@
1973      lmc_softreset (sc);
1974  
1975      /* Since we have to use PCI bus, this should work on x86,alpha,ppc */
1976 -    if (request_irq (dev->irq, &lmc_interrupt, SA_SHIRQ, dev->name, dev)){
1977 +    if (request_irq (dev->irq, &lmc_interrupt,
1978 +               SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev)){
1979          printk(KERN_WARNING "%s: could not get irq: %d\n", dev->name, dev->irq);
1980          lmc_trace(dev, "lmc_open irq failed out");
1981          return -EAGAIN;
1982 diff -urN linux-2.4.16/drivers/net/wan/n2.c linux/drivers/net/wan/n2.c
1983 --- linux-2.4.16/drivers/net/wan/n2.c   Mon Nov 26 15:56:32 2001
1984 +++ linux/drivers/net/wan/n2.c  Mon Nov 26 16:13:38 2001
1985 @@ -398,7 +398,7 @@
1986         }
1987         card->io = io;
1988  
1989 -       if (request_irq(irq, &sca_intr, 0, devname, card)) {
1990 +       if (request_irq(irq, &sca_intr, SA_SAMPLE_NET_RANDOM, devname, card)) {
1991                 printk(KERN_ERR "n2: could not allocate IRQ\n");
1992                 n2_destroy_card(card);
1993                 return(-EBUSY);
1994 diff -urN linux-2.4.16/drivers/net/wan/sbni.c linux/drivers/net/wan/sbni.c
1995 --- linux-2.4.16/drivers/net/wan/sbni.c Mon Nov 26 15:56:32 2001
1996 +++ linux/drivers/net/wan/sbni.c        Mon Nov 26 16:13:38 2001
1997 @@ -1168,7 +1168,8 @@
1998                         }
1999         }
2000  
2001 -       if( request_irq(dev->irq, sbni_interrupt, SA_SHIRQ, dev->name, dev) ) {
2002 +       if( request_irq(dev->irq, sbni_interrupt,
2003 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev) ) {
2004                 printk( KERN_ERR "%s: unable to get IRQ %d.\n",
2005                         dev->name, dev->irq );
2006                 return  -EAGAIN;
2007 diff -urN linux-2.4.16/drivers/net/wan/sdla.c linux/drivers/net/wan/sdla.c
2008 --- linux-2.4.16/drivers/net/wan/sdla.c Mon Nov 26 15:56:32 2001
2009 +++ linux/drivers/net/wan/sdla.c        Mon Nov 26 16:13:38 2001
2010 @@ -1469,7 +1469,8 @@
2011         }
2012         dev->irq = map->irq;
2013  
2014 -       if (request_irq(dev->irq, &sdla_isr, 0, dev->name, dev)) 
2015 +       if (request_irq(dev->irq, &sdla_isr, SA_SAMPLE_NET_RANDOM,
2016 +                       dev->name, dev)) 
2017                 return(-EAGAIN);
2018  
2019         if (flp->type == SDLA_S507)
2020 diff -urN linux-2.4.16/drivers/net/wan/sdlamain.c linux/drivers/net/wan/sdlamain.c
2021 --- linux-2.4.16/drivers/net/wan/sdlamain.c     Mon Nov 26 15:56:32 2001
2022 +++ linux/drivers/net/wan/sdlamain.c    Mon Nov 26 16:13:38 2001
2023 @@ -495,8 +495,7 @@
2024                 /* when using the S514 PCI adapter */
2025                 
2026                         if(request_irq(irq, sdla_isr, 
2027 -                     (card->hw.type == SDLA_S514) ? SA_SHIRQ : 0, 
2028 -                      wandev->name, card)){
2029 +                     (card->hw.type == SDLA_S514) ? SA_SHIRQ : 0 | SA_SAMPLE_NET_RANDOM, wandev->name, card)){
2030  
2031                         printk(KERN_INFO "%s: Can't reserve IRQ %d!\n", wandev->name, irq);
2032                         return -EINVAL;
2033 diff -urN linux-2.4.16/drivers/net/wan/sealevel.c linux/drivers/net/wan/sealevel.c
2034 --- linux-2.4.16/drivers/net/wan/sealevel.c     Mon Nov 26 15:56:32 2001
2035 +++ linux/drivers/net/wan/sealevel.c    Mon Nov 26 16:13:38 2001
2036 @@ -281,7 +281,8 @@
2037         /* We want a fast IRQ for this device. Actually we'd like an even faster
2038            IRQ ;) - This is one driver RtLinux is made for */
2039     
2040 -       if(request_irq(irq, &z8530_interrupt, SA_INTERRUPT, "SeaLevel", dev)<0)
2041 +       if(request_irq(irq, &z8530_interrupt,
2042 +                       SA_INTERRUPT | SA_SAMPLE_NET_RANDOM, "SeaLevel", dev)<0)
2043         {
2044                 printk(KERN_WARNING "sealevel: IRQ %d already in use.\n", irq);
2045                 goto fail1_1;
2046 diff -urN linux-2.4.16/drivers/net/wavelan.c linux/drivers/net/wavelan.c
2047 --- linux-2.4.16/drivers/net/wavelan.c  Mon Nov 26 15:56:31 2001
2048 +++ linux/drivers/net/wavelan.c Mon Nov 26 16:13:38 2001
2049 @@ -3900,7 +3900,8 @@
2050                 return -ENXIO;
2051         }
2052  
2053 -       if (request_irq(dev->irq, &wavelan_interrupt, 0, "WaveLAN", dev) != 0) 
2054 +       if (request_irq(dev->irq, &wavelan_interrupt, SA_SAMPLE_NET_RANDOM,
2055 +                               "WaveLAN", dev) != 0) 
2056         {
2057  #ifdef DEBUG_CONFIG_ERROR
2058                 printk(KERN_WARNING "%s: wavelan_open(): invalid IRQ\n",
2059 diff -urN linux-2.4.16/drivers/net/wd.c linux/drivers/net/wd.c
2060 --- linux-2.4.16/drivers/net/wd.c       Mon Nov 26 15:56:31 2001
2061 +++ linux/drivers/net/wd.c      Mon Nov 26 16:13:38 2001
2062 @@ -266,7 +266,8 @@
2063  
2064         /* Snarf the interrupt now.  There's no point in waiting since we cannot
2065            share and the board will usually be enabled. */
2066 -       i = request_irq(dev->irq, ei_interrupt, 0, dev->name, dev);
2067 +       i = request_irq(dev->irq, ei_interrupt,
2068 +                       SA_SAMPLE_NET_RANDOM, dev->name, dev);
2069         if (i) {
2070                 printk (" unable to get IRQ %d.\n", dev->irq);
2071                 kfree(dev->priv);
2072 diff -urN linux-2.4.16/drivers/net/winbond-840.c linux/drivers/net/winbond-840.c
2073 --- linux-2.4.16/drivers/net/winbond-840.c      Mon Nov 26 15:56:34 2001
2074 +++ linux/drivers/net/winbond-840.c     Mon Nov 26 16:13:38 2001
2075 @@ -688,7 +688,8 @@
2076         writel(0x00000001, ioaddr + PCIBusCfg);         /* Reset */
2077  
2078         netif_device_detach(dev);
2079 -       i = request_irq(dev->irq, &intr_handler, SA_SHIRQ, dev->name, dev);
2080 +       i = request_irq(dev->irq, &intr_handler,
2081 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
2082         if (i)
2083                 goto out_err;
2084  
2085 diff -urN linux-2.4.16/drivers/net/wireless/airo.c linux/drivers/net/wireless/airo.c
2086 --- linux-2.4.16/drivers/net/wireless/airo.c    Mon Nov 26 15:56:34 2001
2087 +++ linux/drivers/net/wireless/airo.c   Mon Nov 26 16:13:38 2001
2088 @@ -1191,7 +1191,8 @@
2089         dev->irq = irq;
2090         dev->base_addr = port;
2091  
2092 -       rc = request_irq( dev->irq, airo_interrupt, SA_SHIRQ, dev->name, dev );
2093 +       rc = request_irq( dev->irq, airo_interrupt,
2094 +               SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev );
2095         if (rc) {
2096                 printk(KERN_ERR "airo: register interrupt %d failed, rc %d\n", irq, rc );
2097                 goto err_out_unlink;
2098 diff -urN linux-2.4.16/drivers/net/wireless/airport.c linux/drivers/net/wireless/airport.c
2099 --- linux-2.4.16/drivers/net/wireless/airport.c Mon Nov 26 15:56:34 2001
2100 +++ linux/drivers/net/wireless/airport.c        Mon Nov 26 16:13:38 2001
2101 @@ -241,7 +241,8 @@
2102         /* Reset it before we get the interrupt */
2103         hermes_reset(hw);
2104  
2105 -       if (request_irq(ndev->irq, dldwd_interrupt, 0, "Airport", (void *)priv)) {
2106 +       if (request_irq(ndev->irq, dldwd_interrupt, SA_SAMPLE_NET_RANDOM,
2107 +                       "Airport", (void *)priv)) {
2108                 printk(KERN_ERR "airport: Couldn't get IRQ %d\n", ndev->irq);
2109                 goto failed;
2110         }
2111 diff -urN linux-2.4.16/drivers/net/yellowfin.c linux/drivers/net/yellowfin.c
2112 --- linux-2.4.16/drivers/net/yellowfin.c        Mon Nov 26 15:56:32 2001
2113 +++ linux/drivers/net/yellowfin.c       Mon Nov 26 16:13:38 2001
2114 @@ -625,7 +625,8 @@
2115         /* Reset the chip. */
2116         outl(0x80000000, ioaddr + DMACtrl);
2117  
2118 -       i = request_irq(dev->irq, &yellowfin_interrupt, SA_SHIRQ, dev->name, dev);
2119 +       i = request_irq(dev->irq, &yellowfin_interrupt,
2120 +                       SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
2121         if (i) return i;
2122  
2123         if (yellowfin_debug > 1)
2124 diff -urN linux-2.4.16/drivers/net/znet.c linux/drivers/net/znet.c
2125 --- linux-2.4.16/drivers/net/znet.c     Mon Nov 26 15:56:31 2001
2126 +++ linux/drivers/net/znet.c    Mon Nov 26 16:13:38 2001
2127 @@ -252,7 +252,8 @@
2128         zn.lock = SPIN_LOCK_UNLOCKED;
2129  
2130         /* These should never fail.  You can't add devices to a sealed box! */
2131 -       if (request_irq(dev->irq, &znet_interrupt, 0, "ZNet", dev)
2132 +       if (request_irq(dev->irq, &znet_interrupt, SA_SAMPLE_NET_RANDOM,
2133 +                       "ZNet", dev)
2134                 || request_dma(zn.rx_dma,"ZNet rx")
2135                 || request_dma(zn.tx_dma,"ZNet tx")) {
2136                 printk(KERN_WARNING "%s: Not opened -- resource busy?!?\n", dev->name);
This page took 0.234952 seconds and 3 git commands to generate.