Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Philips <bphilips@suse.de>2010-06-02 09:29:00 -0700
committerBrandon Philips <bphilips@suse.de>2010-06-02 09:29:00 -0700
commite7b940b82857de92607f61e738c52cb2fde70b74 (patch)
treee678e1ff446f8b489be308d27f81e6838a6fb5e8
parentf6e1c5c4a5ad6457402e1ff861003e9a75895894 (diff)
- patches.drivers/e1000e-entropy-source.patch: Reintroduce IRQF_SHARED
to fix non-MSI case (bnc#610362).
-rw-r--r--kernel-source.changes6
-rw-r--r--patches.drivers/e1000e-entropy-source.patch38
2 files changed, 29 insertions, 15 deletions
diff --git a/kernel-source.changes b/kernel-source.changes
index 42bfbfa379..ad13d68e2c 100644
--- a/kernel-source.changes
+++ b/kernel-source.changes
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Wed Jun 2 18:28:30 CEST 2010 - bphilips@suse.de
+
+- patches.drivers/e1000e-entropy-source.patch: Reintroduce IRQF_SHARED
+ to fix non-MSI case (bnc#610362).
+
+-------------------------------------------------------------------
Wed Jun 2 10:41:06 CEST 2010 - mmarek@suse.cz
- rpm/kernel-docs.spec.in: More -rt fixes.
diff --git a/patches.drivers/e1000e-entropy-source.patch b/patches.drivers/e1000e-entropy-source.patch
index be10645d94..738e9b2efd 100644
--- a/patches.drivers/e1000e-entropy-source.patch
+++ b/patches.drivers/e1000e-entropy-source.patch
@@ -13,13 +13,15 @@ Signed-off-by: Brandon Philips <bphilips@suse.de>
---
drivers/net/e1000e/e1000.h | 1 +
- drivers/net/e1000e/netdev.c | 12 ++++++++----
+ drivers/net/e1000e/netdev.c | 14 +++++++++-----
drivers/net/e1000e/param.c | 4 ++++
- 3 files changed, 13 insertions(+), 4 deletions(-)
+ 3 files changed, 14 insertions(+), 5 deletions(-)
---- a/drivers/net/e1000e/e1000.h
-+++ b/drivers/net/e1000e/e1000.h
-@@ -464,6 +464,7 @@ extern void e1000e_set_interrupt_capabil
+Index: linux-2.6.34-master/drivers/net/e1000e/e1000.h
+===================================================================
+--- linux-2.6.34-master.orig/drivers/net/e1000e/e1000.h
++++ linux-2.6.34-master/drivers/net/e1000e/e1000.h
+@@ -466,6 +466,7 @@ extern void e1000e_reset_interrupt_capab
extern void e1000e_disable_aspm(struct pci_dev *pdev, u16 state);
extern unsigned int copybreak;
@@ -27,9 +29,11 @@ Signed-off-by: Brandon Philips <bphilips@suse.de>
extern char *e1000e_get_hw_dev_name(struct e1000_hw *hw);
---- a/drivers/net/e1000e/netdev.c
-+++ b/drivers/net/e1000e/netdev.c
-@@ -1493,8 +1493,8 @@ static int e1000_request_msix(struct e10
+Index: linux-2.6.34-master/drivers/net/e1000e/netdev.c
+===================================================================
+--- linux-2.6.34-master.orig/drivers/net/e1000e/netdev.c
++++ linux-2.6.34-master/drivers/net/e1000e/netdev.c
+@@ -1496,8 +1496,8 @@ static int e1000_request_msix(struct e10
else
memcpy(adapter->rx_ring->name, netdev->name, IFNAMSIZ);
err = request_irq(adapter->msix_entries[vector].vector,
@@ -40,7 +44,7 @@ Signed-off-by: Brandon Philips <bphilips@suse.de>
if (err)
goto out;
adapter->rx_ring->itr_register = E1000_EITR_82574(vector);
-@@ -1535,6 +1535,7 @@ static int e1000_request_irq(struct e100
+@@ -1538,6 +1538,7 @@ static int e1000_request_irq(struct e100
{
struct net_device *netdev = adapter->netdev;
int err;
@@ -48,7 +52,7 @@ Signed-off-by: Brandon Philips <bphilips@suse.de>
if (adapter->msix_entries) {
err = e1000_request_msix(adapter);
-@@ -1546,7 +1547,8 @@ static int e1000_request_irq(struct e100
+@@ -1549,7 +1550,8 @@ static int e1000_request_irq(struct e100
e1000e_set_interrupt_capability(adapter);
}
if (adapter->flags & FLAG_MSI_ENABLED) {
@@ -58,19 +62,23 @@ Signed-off-by: Brandon Philips <bphilips@suse.de>
netdev->name, netdev);
if (!err)
return err;
-@@ -1556,7 +1558,9 @@ static int e1000_request_irq(struct e100
+@@ -1559,8 +1561,10 @@ static int e1000_request_irq(struct e100
adapter->int_mode = E1000E_INT_MODE_LEGACY;
}
- err = request_irq(adapter->pdev->irq, e1000_intr, IRQF_SHARED,
+- netdev->name, netdev);
+ if (entropy)
+ irq_flags |= IRQF_SAMPLE_RANDOM;
-+ err = request_irq(adapter->pdev->irq, e1000_intr, irq_flags,
- netdev->name, netdev);
++ err = request_irq(adapter->pdev->irq, e1000_intr,
++ irq_flags | IRQF_SHARED, netdev->name, netdev);
if (err)
e_err("Unable to allocate interrupt, Error: %d\n", err);
---- a/drivers/net/e1000e/param.c
-+++ b/drivers/net/e1000e/param.c
+
+Index: linux-2.6.34-master/drivers/net/e1000e/param.c
+===================================================================
+--- linux-2.6.34-master.orig/drivers/net/e1000e/param.c
++++ linux-2.6.34-master/drivers/net/e1000e/param.c
@@ -31,6 +31,10 @@
#include "e1000.h"