mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
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>
This commit is contained in:
parent
0266ac4536
commit
3111912971
@ -5255,8 +5255,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
|
||||
|
@ -6755,13 +6755,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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user