<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">diff -up linux-2.6.18-262.el5.i686/drivers/net/bnx2.c.orig linux-2.6.18-262.el5.i686/drivers/net/bnx2.c
--- linux-2.6.18-262.el5.i686/drivers/net/bnx2.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/bnx2.c	2011-06-08 13:33:06.000000000 +0800
@@ -83,11 +83,11 @@ static int disable_msi = 0;
 module_param(disable_msi, int, 0);
 MODULE_PARM_DESC(disable_msi, "Disable Message Signaled Interrupt (MSI)");
 
-static int enable_entropy = 0;
+static int enable_entropy = 1;
 
-module_param(enable_entropy, int, 0);
+module_param(enable_entropy, int, 1);
 MODULE_PARM_DESC(enable_entropy,
-		 "Allow bnx2 to populate the /dev/random entropy pool");
+  "Allow bnx2 to populate the /dev/random entropy pool (default=1)");
 
 typedef enum {
 	BCM5706 = 0,
diff -up linux-2.6.18-262.el5.i686/drivers/net/bnx2x/bnx2x_cmn.c.orig linux-2.6.18-262.el5.i686/drivers/net/bnx2x/bnx2x_cmn.c
--- linux-2.6.18-262.el5.i686/drivers/net/bnx2x/bnx2x_cmn.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/bnx2x/bnx2x_cmn.c	2011-06-08 13:35:39.000000000 +0800
@@ -1119,7 +1119,8 @@ static int bnx2x_req_msix_irqs(struct bn
 {
 	int i, rc, offset = 1;
 
-	rc = request_irq(bp-&gt;msix_table[0].vector, bnx2x_msix_sp_int, 0,
+	rc = request_irq(bp-&gt;msix_table[0].vector, bnx2x_msix_sp_int, 
+			 IRQF_SAMPLE_RANDOM,
 			 bp-&gt;dev-&gt;name, bp-&gt;dev);
 	if (rc) {
 		BNX2X_ERR("request sp irq failed\n");
@@ -1135,7 +1136,8 @@ static int bnx2x_req_msix_irqs(struct bn
 			 bp-&gt;dev-&gt;name, i);
 
 		rc = request_irq(bp-&gt;msix_table[offset].vector,
-				 bnx2x_msix_fp_int, 0, fp-&gt;name, fp);
+				 bnx2x_msix_fp_int, IRQF_SAMPLE_RANDOM, 
+				 fp-&gt;name, fp);
 		if (rc) {
 			BNX2X_ERR("request fp #%d irq failed  rc %d\n", i, rc);
 			bnx2x_free_msix_irqs(bp);
@@ -1177,9 +1179,9 @@ static int bnx2x_req_irq(struct bnx2x *b
 	int rc;
 
 	if (bp-&gt;flags &amp; USING_MSI_FLAG)
-		flags = 0;
+		flags = IRQF_SAMPLE_RANDOM;
 	else
-		flags = IRQF_SHARED;
+		flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
 
 	rc = request_irq(bp-&gt;pdev-&gt;irq, bnx2x_interrupt, flags,
 			 bp-&gt;dev-&gt;name, bp-&gt;dev);
diff -up linux-2.6.18-262.el5.i686/drivers/net/e1000e/netdev.c.orig linux-2.6.18-262.el5.i686/drivers/net/e1000e/netdev.c
--- linux-2.6.18-262.el5.i686/drivers/net/e1000e/netdev.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/e1000e/netdev.c	2011-06-08 13:38:59.000000000 +0800
@@ -1856,7 +1856,8 @@ static int e1000_request_msix(struct e10
 	else
 		memcpy(adapter-&gt;rx_ring-&gt;name, netdev-&gt;name, IFNAMSIZ);
 	err = request_irq(adapter-&gt;msix_entries[vector].vector,
-			  e1000_intr_msix_rx, 0, adapter-&gt;rx_ring-&gt;name,
+			  e1000_intr_msix_rx, IRQF_SAMPLE_RANDOM, 
+			  adapter-&gt;rx_ring-&gt;name,
 			  netdev);
 	if (err)
 		goto out;
@@ -1871,7 +1872,8 @@ static int e1000_request_msix(struct e10
 	else
 		memcpy(adapter-&gt;tx_ring-&gt;name, netdev-&gt;name, IFNAMSIZ);
 	err = request_irq(adapter-&gt;msix_entries[vector].vector,
-			  e1000_intr_msix_tx, 0, adapter-&gt;tx_ring-&gt;name,
+			  e1000_intr_msix_tx, IRQF_SAMPLE_RANDOM, 
+			  adapter-&gt;tx_ring-&gt;name,
 			  netdev);
 	if (err)
 		goto out;
@@ -1880,7 +1882,8 @@ static int e1000_request_msix(struct e10
 	vector++;
 
 	err = request_irq(adapter-&gt;msix_entries[vector].vector,
-			  e1000_msix_other, 0, netdev-&gt;name, netdev);
+			  e1000_msix_other, IRQF_SAMPLE_RANDOM, 
+			  netdev-&gt;name, netdev);
 	if (err)
 		goto out;
 
@@ -1911,7 +1914,8 @@ static int e1000_request_irq(struct e100
 		e1000e_set_interrupt_capability(adapter);
 	}
 	if (adapter-&gt;flags &amp; FLAG_MSI_ENABLED) {
-		err = request_irq(adapter-&gt;pdev-&gt;irq, e1000_intr_msi, 0,
+		err = request_irq(adapter-&gt;pdev-&gt;irq, e1000_intr_msi, 
+				  IRQF_SAMPLE_RANDOM,
 				  netdev-&gt;name, netdev);
 		if (!err)
 			return err;
@@ -1921,7 +1925,8 @@ static int e1000_request_irq(struct e100
 		adapter-&gt;int_mode = E1000E_INT_MODE_LEGACY;
 	}
 
-	err = request_irq(adapter-&gt;pdev-&gt;irq, e1000_intr, IRQF_SHARED,
+	err = request_irq(adapter-&gt;pdev-&gt;irq, e1000_intr, 
+			  IRQF_SHARED|IRQF_SAMPLE_RANDOM,
 			  netdev-&gt;name, netdev);
 	if (err)
 		e_err("Unable to allocate interrupt, Error: %d\n", err);
@@ -3508,7 +3513,8 @@ static int e1000_test_msi_interrupt(stru
 	if (err)
 		goto msi_test_failed;
 
-	err = request_irq(adapter-&gt;pdev-&gt;irq, e1000_intr_msi_test, 0,
+	err = request_irq(adapter-&gt;pdev-&gt;irq, e1000_intr_msi_test, 
+			  IRQF_SAMPLE_RANDOM,
 			  netdev-&gt;name, netdev);
 	if (err) {
 		pci_disable_msi(adapter-&gt;pdev);
diff -up linux-2.6.18-262.el5.i686/drivers/net/igb/igb_main.c.orig linux-2.6.18-262.el5.i686/drivers/net/igb/igb_main.c
--- linux-2.6.18-262.el5.i686/drivers/net/igb/igb_main.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/igb/igb_main.c	2011-06-08 13:40:22.000000000 +0800
@@ -873,7 +873,8 @@ static int igb_request_msix(struct igb_a
 	int i, err = 0, vector = 0;
 
 	err = request_irq(adapter-&gt;msix_entries[vector].vector,
-	                  igb_msix_other, 0, netdev-&gt;name, adapter);
+	                  igb_msix_other, IRQF_SAMPLE_RANDOM, 
+			  netdev-&gt;name, adapter);
 	if (err)
 		goto out;
 	vector++;
@@ -896,7 +897,8 @@ static int igb_request_msix(struct igb_a
 			sprintf(q_vector-&gt;name, "%s-unused", netdev-&gt;name);
 
 		err = request_irq(adapter-&gt;msix_entries[vector].vector,
-		                  igb_msix_ring, 0, q_vector-&gt;name,
+		                  igb_msix_ring, IRQF_SAMPLE_RANDOM, 
+				  q_vector-&gt;name,
 		                  q_vector);
 		if (err)
 			goto out;
@@ -1216,7 +1218,8 @@ static int igb_request_irq(struct igb_ad
 	}
 
 	if (adapter-&gt;flags &amp; IGB_FLAG_HAS_MSI) {
-		err = request_irq(adapter-&gt;pdev-&gt;irq, igb_intr_msi, 0,
+		err = request_irq(adapter-&gt;pdev-&gt;irq, igb_intr_msi, 
+				  IRQF_SAMPLE_RANDOM,
 				  netdev-&gt;name, adapter);
 		if (!err)
 			goto request_done;
@@ -1226,7 +1229,8 @@ static int igb_request_irq(struct igb_ad
 		adapter-&gt;flags &amp;= ~IGB_FLAG_HAS_MSI;
 	}
 
-	err = request_irq(adapter-&gt;pdev-&gt;irq, igb_intr, IRQF_SHARED,
+	err = request_irq(adapter-&gt;pdev-&gt;irq, igb_intr, 
+			  IRQF_SHARED|IRQF_SAMPLE_RANDOM,
 			  netdev-&gt;name, adapter);
 
 	if (err)
diff -up linux-2.6.18-262.el5.i686/drivers/net/ixgbe/ixgbe_main.c.orig linux-2.6.18-262.el5.i686/drivers/net/ixgbe/ixgbe_main.c
--- linux-2.6.18-262.el5.i686/drivers/net/ixgbe/ixgbe_main.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/ixgbe/ixgbe_main.c	2011-06-08 13:41:40.000000000 +0800
@@ -2354,8 +2354,8 @@ static int ixgbe_request_msix_irqs(struc
 			continue;
 		}
 		err = request_irq(adapter-&gt;msix_entries[vector].vector,
-				  handler, 0, q_vector-&gt;name,
-				  q_vector);
+				  handler, IRQF_SAMPLE_RANDOM, 
+				  q_vector-&gt;name, q_vector);
 		if (err) {
 			e_err(probe, "request_irq failed for MSIX interrupt "
 			      "Error: %d\n", err);
@@ -2365,7 +2365,8 @@ static int ixgbe_request_msix_irqs(struc
 
 	sprintf(adapter-&gt;lsc_int_name, "%s:lsc", netdev-&gt;name);
 	err = request_irq(adapter-&gt;msix_entries[vector].vector,
-			  ixgbe_msix_lsc, 0, adapter-&gt;lsc_int_name, netdev);
+			  ixgbe_msix_lsc, IRQF_SAMPLE_RANDOM, 
+			  adapter-&gt;lsc_int_name, netdev);
 	if (err) {
 		e_err(probe, "request_irq for msix_lsc failed: %d\n", err);
 		goto free_queue_irqs;
@@ -2575,10 +2576,12 @@ static int ixgbe_request_irq(struct ixgb
 	if (adapter-&gt;flags &amp; IXGBE_FLAG_MSIX_ENABLED) {
 		err = ixgbe_request_msix_irqs(adapter);
 	} else if (adapter-&gt;flags &amp; IXGBE_FLAG_MSI_ENABLED) {
-		err = request_irq(adapter-&gt;pdev-&gt;irq, ixgbe_intr, 0,
+		err = request_irq(adapter-&gt;pdev-&gt;irq, ixgbe_intr, 
+				  IRQF_SAMPLE_RANDOM,
 				  netdev-&gt;name, netdev);
 	} else {
-		err = request_irq(adapter-&gt;pdev-&gt;irq, ixgbe_intr, IRQF_SHARED,
+		err = request_irq(adapter-&gt;pdev-&gt;irq, ixgbe_intr, 
+				  IRQF_SHARED|IRQF_SAMPLE_RANDOM,
 				  netdev-&gt;name, netdev);
 	}
 
diff -up linux-2.6.18-262.el5.i686/drivers/net/ixgbevf/ixgbevf_main.c.orig linux-2.6.18-262.el5.i686/drivers/net/ixgbevf/ixgbevf_main.c
--- linux-2.6.18-262.el5.i686/drivers/net/ixgbevf/ixgbevf_main.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/ixgbevf/ixgbevf_main.c	2011-06-08 13:43:02.000000000 +0800
@@ -1146,7 +1146,8 @@ static int ixgbevf_request_msix_irqs(str
 			continue;
 		}
 		err = request_irq(adapter-&gt;msix_entries[vector].vector,
-				  handler, 0, adapter-&gt;name[vector],
+				  handler, IRQF_SAMPLE_RANDOM, 
+				  adapter-&gt;name[vector],
 				  adapter-&gt;q_vector[vector]);
 		if (err) {
 			hw_dbg(&amp;adapter-&gt;hw,
@@ -1158,7 +1159,8 @@ static int ixgbevf_request_msix_irqs(str
 
 	sprintf(adapter-&gt;name[vector], "%s:mbx", netdev-&gt;name);
 	err = request_irq(adapter-&gt;msix_entries[vector].vector,
-			  &amp;ixgbevf_msix_mbx, 0, adapter-&gt;name[vector], netdev);
+			  &amp;ixgbevf_msix_mbx, IRQF_SAMPLE_RANDOM, 
+			  adapter-&gt;name[vector], netdev);
 	if (err) {
 		hw_dbg(&amp;adapter-&gt;hw,
 		       "request_irq for msix_mbx failed: %d\n", err);
diff -up linux-2.6.18-262.el5.i686/drivers/net/ixgb/ixgb_main.c.orig linux-2.6.18-262.el5.i686/drivers/net/ixgb/ixgb_main.c
--- linux-2.6.18-262.el5.i686/drivers/net/ixgb/ixgb_main.c.orig	2011-06-08 13:32:18.000000000 +0800
+++ linux-2.6.18-262.el5.i686/drivers/net/ixgb/ixgb_main.c	2011-06-08 13:44:02.000000000 +0800
@@ -214,7 +214,7 @@ int
 ixgb_up(struct ixgb_adapter *adapter)
 {
 	struct net_device *netdev = adapter-&gt;netdev;
-	int err, irq_flags = IRQF_SHARED;
+	int err, irq_flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
 	int max_frame = netdev-&gt;mtu + ENET_HEADER_SIZE + ENET_FCS_LENGTH;
 	struct ixgb_hw *hw = &amp;adapter-&gt;hw;
 
@@ -238,7 +238,7 @@ ixgb_up(struct ixgb_adapter *adapter)
 		err = pci_enable_msi(adapter-&gt;pdev);
 		if (!err) {
 			adapter-&gt;have_msi = 1;
-			irq_flags = 0;
+			irq_flags = IRQF_SAMPLE_RANDOM;
 		}
 		/* proceed to try to request regular interrupt */
 	}
</pre></body></html>