e1000: use disable_hardirq() for e1000_netpoll()
In commit 02cea39586
("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:
Родитель
0266ac4536
Коммит
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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче