e1000: fix irq sharing when running ethtool test
Subsystems (2)
New code added in 2.6.17 caused setup_irq to print a warning when running ethtool -t eth0 offline.
This test marks the request_irq call made by this test as a "probe" to see if the interrupt is shared or not.
---
Jeff,
Because upstream and upstream-fixes have a whitespace conflict in them, I've prepared two separate git branches to pull from so that a subsequent pull or merge from upstream-fixes into upstream doesn't resolve into a conflict:
please pull from our git-server:
into upstream:
git-pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 upstream
into upstream-fixes:
git-pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 upstream-fixes
Cheers,
Auke
--- e1000_ethtool.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
e1000: fix ethtool test irq alloc as "probe"
New code added in 2.6.17 caused setup_irq to print a warning when running ethtool -t eth0 offline.
This test marks the request_irq call made by this test as a "probe" to see if the interrupt is shared or not.
drivers/net/e1000/e1000_ethtool.c +4 -1
@@ -870,13 +870,16 @@ e1000_intr_test(struct e1000_adapter *ad *data =0 ;/* Hook up test interrupt handler just for this test */ -if (!request_irq (irq, &e1000_test_intr,0 , netdev->name, netdev)) { +if (!request_irq (irq, &e1000_test_intr,SA_PROBEIRQ , netdev->name, + netdev)) { shared_int = FALSE; }else if (request_irq (irq, &e1000_test_intr,SA_SHIRQ , netdev->name, netdev)){ *data =1 ;return -1 ; } +DPRINTK (PROBE ,INFO ,"testing %s interrupt\n" , + (shared_int ?"shared" :"unshared" ));/* Disable all the interrupts */ E1000_WRITE_REG (&adapter->hw,IMC ,0xFFFFFFFF );
Quoted 4 lines · Auke Kok
Because upstream and upstream-fixes have a whitespace conflict in them, I've prepared two separate git branches to pull from so that a subsequent pull or merge from upstream-fixes into upstream doesn't resolve into a conflict:
That won't work, because it creates duplicate changesets in the history.
I'll pull the upstream-fixes version, and then merge into #upstream.
Jeff
Quoted 6 lines · Jeff Garzik
Quoted 1 line · Auke Kok
Because upstream and upstream-fixes have a whitespace conflict in them, I've prepared two separate git branches to pull from so that a subsequent pull or merge from upstream-fixes into upstream doesn't resolve into a conflict:
That won't work, because it creates duplicate changesets in the history.
I'll pull the upstream-fixes version, and then merge into #upstream.
thanks, I wish I had thought of that first!
Auke