[PATCH] 2.4.8-ac5: let Net Devices feed Entropy (2/2)

Robert Love (rml@tech9.net)
16 Aug 2001 00:44:41 -0400


against 2.4.8-ac5. patch #2 of 2 (updates some drivers to use new
optional random support). see previous email

diff -urN linux-2.4.9-pre4/drivers/net/3c501.c linux/drivers/net/3c501.c
--- linux-2.4.9-pre4/drivers/net/3c501.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/3c501.c Wed Aug 15 23:20:07 2001
@@ -410,7 +410,8 @@
if (el_debug > 2)
printk("%s: Doing el_open()...", dev->name);

- if ((retval = request_irq(dev->irq, &el_interrupt, 0, dev->name, dev)))
+ if ((retval = request_irq(dev->irq, &el_interrupt,
+ SA_SAMPLE_NET_RANDOM, dev->name, dev)))
return retval;

spin_lock_irqsave(&lp->lock, flags);
diff -urN linux-2.4.9-pre4/drivers/net/3c505.c linux/drivers/net/3c505.c
--- linux-2.4.9-pre4/drivers/net/3c505.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/3c505.c Wed Aug 15 23:20:07 2001
@@ -897,7 +897,8 @@
/*
* install our interrupt service routine
*/
- if ((retval = request_irq(dev->irq, &elp_interrupt, 0, dev->name, dev))) {
+ if ((retval = request_irq(dev->irq, &elp_interrupt,
+ SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
printk(KERN_ERR "%s: could not allocate IRQ%d\n", dev->name, dev->irq);
return retval;
}
diff -urN linux-2.4.9-pre4/drivers/net/3c509.c linux/drivers/net/3c509.c
--- linux-2.4.9-pre4/drivers/net/3c509.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/3c509.c Wed Aug 15 23:20:08 2001
@@ -560,7 +560,8 @@
outw(RxReset, ioaddr + EL3_CMD);
outw(SetStatusEnb | 0x00, ioaddr + EL3_CMD);

- i = request_irq(dev->irq, &el3_interrupt, 0, dev->name, dev);
+ i = request_irq(dev->irq, &el3_interrupt,
+ SA_SAMPLE_NET_RANDOM, dev->name, dev);
if (i) return i;

EL3WINDOW(0);
diff -urN linux-2.4.9-pre4/drivers/net/3c523.c linux/drivers/net/3c523.c
--- linux-2.4.9-pre4/drivers/net/3c523.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/3c523.c Wed Aug 15 23:20:08 2001
@@ -280,7 +280,7 @@

elmc_id_attn586(); /* disable interrupts */

- ret = request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_RANDOM,
+ ret = request_irq(dev->irq, &elmc_interrupt, SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
dev->name, dev);
if (ret) {
printk(KERN_ERR "%s: couldn't get irq %d\n", dev->name, dev->irq);
diff -urN linux-2.4.9-pre4/drivers/net/3c59x.c linux/drivers/net/3c59x.c
--- linux-2.4.9-pre4/drivers/net/3c59x.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/3c59x.c Wed Aug 15 23:20:08 2001
@@ -1581,7 +1581,7 @@

/* Use the now-standard shared IRQ implementation. */
if ((retval = request_irq(dev->irq, vp->full_bus_master_rx ?
- &boomerang_interrupt : &vortex_interrupt, SA_SHIRQ, dev->name, dev))) {
+ &boomerang_interrupt : &vortex_interrupt, SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev))) {
printk(KERN_ERR "%s: Could not reserve IRQ %d\n", dev->name, dev->irq);
goto out;
}
diff -urN linux-2.4.9-pre4/drivers/net/8139too.c linux/drivers/net/8139too.c
--- linux-2.4.9-pre4/drivers/net/8139too.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/8139too.c Wed Aug 15 23:20:08 2001
@@ -1289,7 +1289,8 @@

DPRINTK ("ENTER\n");

- retval = request_irq (dev->irq, rtl8139_interrupt, SA_SHIRQ, dev->name, dev);
+ retval = request_irq (dev->irq, rtl8139_interrupt,
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
if (retval) {
DPRINTK ("EXIT, returning %d\n", retval);
return retval;
diff -urN linux-2.4.9-pre4/drivers/net/cs89x0.c linux/drivers/net/cs89x0.c
--- linux-2.4.9-pre4/drivers/net/cs89x0.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/cs89x0.c Wed Aug 15 23:20:08 2001
@@ -1057,7 +1057,7 @@

for (i = 2; i < CS8920_NO_INTS; i++) {
if ((1 << dev->irq) & lp->irq_map) {
- if (request_irq(i, net_interrupt, 0, dev->name, dev) == 0) {
+ if (request_irq(i, net_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev) == 0) {
dev->irq = i;
write_irq(dev, lp->chip_type, i);
/* writereg(dev, PP_BufCFG, GENERATE_SW_INTERRUPT); */
diff -urN linux-2.4.9-pre4/drivers/net/eepro.c linux/drivers/net/eepro.c
--- linux-2.4.9-pre4/drivers/net/eepro.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/eepro.c Wed Aug 15 23:20:08 2001
@@ -944,7 +944,8 @@
return -EAGAIN;
}

- if (request_irq(dev->irq , &eepro_interrupt, 0, dev->name, dev)) {
+ if (request_irq(dev->irq , &eepro_interrupt, SA_SAMPLE_NET_RANDOM,
+ dev->name, dev)) {
printk("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
return -EAGAIN;
}
diff -urN linux-2.4.9-pre4/drivers/net/eepro100.c linux/drivers/net/eepro100.c
--- linux-2.4.9-pre4/drivers/net/eepro100.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/eepro100.c Wed Aug 15 23:20:08 2001
@@ -932,7 +932,8 @@
sp->in_interrupt = 0;

/* .. we can safely take handler calls during init. */
- retval = request_irq(dev->irq, &speedo_interrupt, SA_SHIRQ, dev->name, dev);
+ retval = request_irq(dev->irq, &speedo_interrupt,
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
if (retval) {
MOD_DEC_USE_COUNT;
return retval;
diff -urN linux-2.4.9-pre4/drivers/net/eexpress.c linux/drivers/net/eexpress.c
--- linux-2.4.9-pre4/drivers/net/eexpress.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/eexpress.c Wed Aug 15 23:20:08 2001
@@ -433,7 +433,8 @@
if (!dev->irq || !irqrmap[dev->irq])
return -ENXIO;

- ret = request_irq(dev->irq,&eexp_irq,0,dev->name,dev);
+ ret = request_irq(dev->irq,&eexp_irq,SA_SAMPLE_NET_RANDOM,
+ dev->name,dev);
if (ret) return ret;

request_region(ioaddr, EEXP_IO_EXTENT, "EtherExpress");
diff -urN linux-2.4.9-pre4/drivers/net/ibmlana.c linux/drivers/net/ibmlana.c
--- linux-2.4.9-pre4/drivers/net/ibmlana.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/ibmlana.c Wed Aug 15 23:20:08 2001
@@ -856,7 +856,7 @@

result =
request_irq(priv->realirq, irq_handler,
- SA_SHIRQ | SA_SAMPLE_RANDOM, dev->name, dev);
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
if (result != 0) {
printk("%s: failed to register irq %d\n", dev->name,
dev->irq);
diff -urN linux-2.4.9-pre4/drivers/net/ne2k-pci.c linux/drivers/net/ne2k-pci.c
--- linux-2.4.9-pre4/drivers/net/ne2k-pci.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/ne2k-pci.c Wed Aug 15 23:20:08 2001
@@ -387,7 +387,8 @@

static int ne2k_pci_open(struct net_device *dev)
{
- int ret = request_irq(dev->irq, ei_interrupt, SA_SHIRQ, dev->name, dev);
+ int ret = request_irq(dev->irq, ei_interrupt,
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev);
if (ret)
return ret;

diff -urN linux-2.4.9-pre4/drivers/net/pcmcia/pcnet_cs.c linux/drivers/net/pcmcia/pcnet_cs.c
--- linux-2.4.9-pre4/drivers/net/pcmcia/pcnet_cs.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/pcmcia/pcnet_cs.c Wed Aug 15 23:20:08 2001
@@ -977,7 +977,7 @@
MOD_INC_USE_COUNT;

set_misc_reg(dev);
- request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
+ request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev_info, dev);

info->link_status = 0x00;
info->watchdog.function = &ei_watchdog;
diff -urN linux-2.4.9-pre4/drivers/net/pcmcia/xircom_tulip_cb.c linux/drivers/net/pcmcia/xircom_tulip_cb.c
--- linux-2.4.9-pre4/drivers/net/pcmcia/xircom_tulip_cb.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/pcmcia/xircom_tulip_cb.c Wed Aug 15 23:20:25 2001
@@ -768,7 +768,8 @@
{
struct tulip_private *tp = (struct tulip_private *)dev->priv;

- if (request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))
+ if (request_irq(dev->irq, &tulip_interrupt,
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM, dev->name, dev))
return -EAGAIN;

tulip_init_ring(dev);
diff -urN linux-2.4.9-pre4/drivers/net/sk_mca.c linux/drivers/net/sk_mca.c
--- linux-2.4.9-pre4/drivers/net/sk_mca.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/sk_mca.c Wed Aug 15 23:20:25 2001
@@ -861,7 +861,7 @@
/* register resources - only necessary for IRQ */
result =
request_irq(priv->realirq, irq_handler,
- SA_SHIRQ | SA_SAMPLE_RANDOM, "sk_mca", dev);
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM, "sk_mca", dev);
if (result != 0) {
printk("%s: failed to register irq %d\n", dev->name,
dev->irq);
diff -urN linux-2.4.9-pre4/drivers/net/smc9194.c linux/drivers/net/smc9194.c
--- linux-2.4.9-pre4/drivers/net/smc9194.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/smc9194.c Wed Aug 15 23:20:25 2001
@@ -1019,7 +1019,7 @@
ether_setup(dev);

/* Grab the IRQ */
- retval = request_irq(dev->irq, &smc_interrupt, 0, dev->name, dev);
+ retval = request_irq(dev->irq, &smc_interrupt, SA_SAMPLE_NET_RANDOM, dev->name, dev);
if (retval) {
printk("%s: unable to get IRQ %d (irqval=%d).\n", dev->name,
dev->irq, retval);
diff -urN linux-2.4.9-pre4/drivers/net/tulip/tulip_core.c linux/drivers/net/tulip/tulip_core.c
--- linux-2.4.9-pre4/drivers/net/tulip/tulip_core.c Wed Aug 15 23:09:40 2001
+++ linux/drivers/net/tulip/tulip_core.c Wed Aug 15 23:20:25 2001
@@ -504,7 +504,9 @@
int retval;
MOD_INC_USE_COUNT;

- if ((retval = request_irq(dev->irq, &tulip_interrupt, SA_SHIRQ, dev->name, dev))) {
+ if ((retval = request_irq(dev->irq, &tulip_interrupt,
+ SA_SHIRQ | SA_SAMPLE_NET_RANDOM,
+ dev->name, dev))) {
MOD_DEC_USE_COUNT;
return retval;
}
diff -urN linux-2.4.9-pre4/drivers/net/wavelan.c linux/drivers/net/wavelan.c
--- linux-2.4.9-pre4/drivers/net/wavelan.c Wed Aug 15 23:09:39 2001
+++ linux/drivers/net/wavelan.c Wed Aug 15 23:20:25 2001
@@ -3897,7 +3897,8 @@
return -ENXIO;
}

- if (request_irq(dev->irq, &wavelan_interrupt, 0, "WaveLAN", dev) != 0)
+ if (request_irq(dev->irq, &wavelan_interrupt, SA_SAMPLE_NET_RANDOM,
+ "WaveLAN", dev) != 0)
{
#ifdef DEBUG_CONFIG_ERROR
printk(KERN_WARNING "%s: wavelan_open(): invalid IRQ\n",

-- 
Robert M. Love
rml at ufl.edu
rml at tech9.net

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/