In commit 02cea3958664 ("genirq: Provide disable_hardirq()")
Peter introduced disable_hardirq() for netpoll, but it is forgotten
to use it for e1000.

This patch changes disable_irq() to disable_hardirq() for e1000.

Reported-by: Dave Jones <da...@codemonkey.org.uk>
Suggested-by: Sabrina Dubroca <s...@queasysnail.net>
Cc: Peter Zijlstra (Intel) <pet...@infradead.org>
Cc: Jeff Kirsher <jeffrey.t.kirs...@intel.com>
Signed-off-by: Cong Wang <xiyou.wangc...@gmail.com>
---
 drivers/net/ethernet/intel/e1000/e1000_main.c | 4 ++--
 drivers/net/ethernet/intel/e1000e/netdev.c    | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c 
b/drivers/net/ethernet/intel/e1000/e1000_main.c
index f42129d..164c3bb 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -5257,8 +5257,8 @@ static void e1000_netpoll(struct net_device *netdev)
 {
        struct e1000_adapter *adapter = netdev_priv(netdev);
 
-       disable_irq(adapter->pdev->irq);
-       e1000_intr(adapter->pdev->irq, netdev);
+       if (disable_hardirq(adapter->pdev->irq))
+               e1000_intr(adapter->pdev->irq, netdev);
        enable_irq(adapter->pdev->irq);
 }
 #endif
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c 
b/drivers/net/ethernet/intel/e1000e/netdev.c
index 7017281..9a0be77 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6762,13 +6762,13 @@ static void e1000_netpoll(struct net_device *netdev)
                e1000_intr_msix(adapter->pdev->irq, netdev);
                break;
        case E1000E_INT_MODE_MSI:
-               disable_irq(adapter->pdev->irq);
-               e1000_intr_msi(adapter->pdev->irq, netdev);
+               if (disable_hardirq(adapter->pdev->irq))
+                       e1000_intr_msi(adapter->pdev->irq, netdev);
                enable_irq(adapter->pdev->irq);
                break;
        default:                /* E1000E_INT_MODE_LEGACY */
-               disable_irq(adapter->pdev->irq);
-               e1000_intr(adapter->pdev->irq, netdev);
+               if (disable_hardirq(adapter->pdev->irq))
+                       e1000_intr(adapter->pdev->irq, netdev);
                enable_irq(adapter->pdev->irq);
                break;
        }
-- 
2.5.5

Reply via email to