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