diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2016-12-10 17:22:42 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-12-10 23:31:19 -0500 |
commit | 311191297125156319be8f86d546ea1c569f7e95 (patch) | |
tree | 10e4600e1b22d506e9f89b6a2b2580b37c350d39 | |
parent | 0266ac4536cdbf37e0bed918b97b6763aa8b84e2 (diff) |
e1000: use disable_hardirq() for e1000_netpoll()
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 <davej@codemonkey.org.uk>
Suggested-by: Sabrina Dubroca <sd@queasysnail.net>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 4 | ||||
-rw-r--r-- | 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 33076fa98002..93fc6c67306b 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c | |||
@@ -5255,8 +5255,8 @@ static void e1000_netpoll(struct net_device *netdev) | |||
5255 | { | 5255 | { |
5256 | struct e1000_adapter *adapter = netdev_priv(netdev); | 5256 | struct e1000_adapter *adapter = netdev_priv(netdev); |
5257 | 5257 | ||
5258 | disable_irq(adapter->pdev->irq); | 5258 | if (disable_hardirq(adapter->pdev->irq)) |
5259 | e1000_intr(adapter->pdev->irq, netdev); | 5259 | e1000_intr(adapter->pdev->irq, netdev); |
5260 | enable_irq(adapter->pdev->irq); | 5260 | enable_irq(adapter->pdev->irq); |
5261 | } | 5261 | } |
5262 | #endif | 5262 | #endif |
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 8759d9236930..ffcf35af4881 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -6755,13 +6755,13 @@ static void e1000_netpoll(struct net_device *netdev) | |||
6755 | e1000_intr_msix(adapter->pdev->irq, netdev); | 6755 | e1000_intr_msix(adapter->pdev->irq, netdev); |
6756 | break; | 6756 | break; |
6757 | case E1000E_INT_MODE_MSI: | 6757 | case E1000E_INT_MODE_MSI: |
6758 | disable_irq(adapter->pdev->irq); | 6758 | if (disable_hardirq(adapter->pdev->irq)) |
6759 | e1000_intr_msi(adapter->pdev->irq, netdev); | 6759 | e1000_intr_msi(adapter->pdev->irq, netdev); |
6760 | enable_irq(adapter->pdev->irq); | 6760 | enable_irq(adapter->pdev->irq); |
6761 | break; | 6761 | break; |
6762 | default: /* E1000E_INT_MODE_LEGACY */ | 6762 | default: /* E1000E_INT_MODE_LEGACY */ |
6763 | disable_irq(adapter->pdev->irq); | 6763 | if (disable_hardirq(adapter->pdev->irq)) |
6764 | e1000_intr(adapter->pdev->irq, netdev); | 6764 | e1000_intr(adapter->pdev->irq, netdev); |
6765 | enable_irq(adapter->pdev->irq); | 6765 | enable_irq(adapter->pdev->irq); |
6766 | break; | 6766 | break; |
6767 | } | 6767 | } |