Skip to contentSkip to conversation

e1000: fix irq sharing when running ethtool test

FIX Auke Kok 2 participants 3 messages Jun 2, 2006

Subsystems (2)
lore
Share & tools
lore

Auke Kok

author
#0 lore raw

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
index ecccca3..d1c705b 100644
@@ -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);
#1 lore raw
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

author
#2 lore raw
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