e1000: fix ethtool test irq alloc as "probe"
authorAuke Kok <auke-jan.h.kok@intel.com>
Thu, 8 Jun 2006 16:28:38 +0000 (09:28 -0700)
committerAuke Kok <juke-jan.h.kok@intel.com>
Thu, 8 Jun 2006 16:28:38 +0000 (09:28 -0700)
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.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
drivers/net/e1000/e1000_ethtool.c

index ecccca35c6f4db1ba739224a6cdc978f7a2c82ad..d1c705b412c27209acc90761cafcade597e2fdd7 100644 (file)
@@ -870,13 +870,16 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data)
        *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);