Page MenuHomeFreeBSD

D21769.diff
No OneTemporary

D21769.diff

Index: sys/dev/e1000/if_em.c
===================================================================
--- sys/dev/e1000/if_em.c
+++ sys/dev/e1000/if_em.c
@@ -1479,14 +1479,13 @@
if (reg_icr & E1000_ICR_RXO)
adapter->rx_overruns++;
- if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) {
+ if (reg_icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))
em_handle_link(adapter->ctx);
- } else {
- E1000_WRITE_REG(&adapter->hw, E1000_IMS,
- EM_MSIX_LINK | E1000_IMS_LSC);
- if (adapter->hw.mac.type >= igb_mac_min)
- E1000_WRITE_REG(&adapter->hw, E1000_EIMS, adapter->link_mask);
- }
+
+ /* Re-arm the IRQ */
+ E1000_WRITE_REG(&adapter->hw, E1000_IMS, EM_MSIX_LINK | E1000_IMS_LSC);
+ if (adapter->hw.mac.type >= igb_mac_min)
+ E1000_WRITE_REG(&adapter->hw, E1000_EIMS, adapter->link_mask);
/*
* Because we must read the ICR for this interrupt
@@ -1494,10 +1493,8 @@
* this reason we simply create a soft interrupt
* for all these vectors.
*/
- if (reg_icr && adapter->hw.mac.type < igb_mac_min) {
- E1000_WRITE_REG(&adapter->hw,
- E1000_ICS, adapter->ims);
- }
+ if (reg_icr && adapter->hw.mac.type < igb_mac_min)
+ E1000_WRITE_REG(&adapter->hw, E1000_ICS, adapter->ims);
return (FILTER_HANDLED);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 18, 2:15 AM (12 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27703096
Default Alt Text
D21769.diff (1 KB)

Event Timeline