- 论坛徽章:
- 0
|
回复 1# 帅绝人寰
关了吧:- static irqreturn_t
- ixgb_intr(int irq, void *data)
- {
- struct net_device *netdev = data;
- struct ixgb_adapter *adapter = netdev_priv(netdev);
- struct ixgb_hw *hw = &adapter->hw;
- u32 icr = IXGB_READ_REG(hw, ICR);
- if (unlikely(!icr))
- return IRQ_NONE; /* Not our interrupt */
- if (unlikely(icr & (IXGB_INT_RXSEQ | IXGB_INT_LSC)))
- if (!test_bit(__IXGB_DOWN, &adapter->flags))
- mod_timer(&adapter->watchdog_timer, jiffies);
- if (napi_schedule_prep(&adapter->napi)) {
- /* Disable interrupts and register for poll. The flush
- of the posted write is intentionally left out.
- */
- IXGB_WRITE_REG(&adapter->hw, IMC, ~0);
- __napi_schedule(&adapter->napi);
- }
- return IRQ_HANDLED;
- }
复制代码 |
|