Add SA_SAMPLE_RANDOM to those request_irq calls which
authorJohn Bowler <jbowler@nslu2-linux.org>
Fri, 17 Jun 2005 06:36:43 +0000 (06:36 +0000)
committerJohn Bowler <jbowler@nslu2-linux.org>
Fri, 17 Jun 2005 06:36:43 +0000 (06:36 +0000)
correspond to packet driven (as opposed to timer driven)
ethernet interrupts.  This provides genuine random
input to the kernel random driver.

BKrev: 42b26f7bNoumAACylLJQfYG5oSQoOw

packages/ixp425-eth/files/intdriven.patch
packages/ixp425-eth/ixp425-eth_1.1.bb

index e69de29..af3452f 100644 (file)
@@ -0,0 +1,55 @@
+--- ixp425-eth-1.1-r4/ixp425_eth.c     2005-06-16 00:47:55.360598896 -0700
++++ ixp425-eth-1.1-r4/ixp425_eth.c     2005-06-16 18:42:09.840377651 -0700
+@@ -1636,6 +1636,7 @@
+     return 0;
+ }
++#if 0 /* UNUSED - used for polling */
+ /* The QMgr dispatch entry point can be called from the 
+  * IXP425_INT_LVL_QM1 irq (which will trigger
+  * an interrupt for every packet) or a timer (which will
+@@ -1686,7 +1687,7 @@
+      */
+     if (request_irq(IXP425_INT_LVL_QM1,
+                     dev_qmgr_os_isr,
+-                    SA_SHIRQ,
++                    SA_SHIRQ | SA_SAMPLE_RANDOM,
+                     DRV_NAME,
+                     (void *)IRQ_ANY_PARAMETER))
+     {
+@@ -1710,6 +1711,7 @@
+   }
+   return 0;
+ }
++#endif
+ /* Enable the MAC port.
+  * Called on do_dev_open, dev_tx_timeout and mtu size changes
+@@ -2234,7 +2236,7 @@
+      */
+     if (request_irq(IXP425_INT_LVL_QM1,
+                     dev_qmgr_os_isr,
+-                    SA_SHIRQ,
++                    SA_SHIRQ | SA_SAMPLE_RANDOM,
+                     DRV_NAME,
+                     (void *)IRQ_ANY_PARAMETER))
+     {
+@@ -2669,6 +2671,10 @@
+     TRACE;
++#if 0 /* DISABLE polling */
++    /* Enable Interrupt driven driver
++     * see http://www.nslu2-linux.org/wiki/OpenSlug/StabilizeEthernetDriver
++     */
+     if (no_csr_init == 0) /* module parameter */
+     {
+       /* The QMgr dispatch entry point is called from the IXP425_INT_LVL_QM1 irq
+@@ -2681,6 +2687,7 @@
+            return res;
+       }
+     }
++#endif
+     TRACE;
index 40e7f19..568f6bd 100644 (file)
@@ -7,7 +7,7 @@ SRC_URI = "http://www.intel.com/design/network/swsup/ixp400LinuxEthernetDriverPa
           file://intdriven.patch;patch=1 \
           file://pollcontroller.patch;patch=1 \
           file://mm4.patch;patch=1"
-PR = "r3"
+PR = "r4"
 
 S = "${WORKDIR}"