Page MenuHomeFreeBSD

D2343.id4947.diff
No OneTemporary

D2343.id4947.diff

Index: sys/dev/ixgbe/if_ix.c
===================================================================
--- sys/dev/ixgbe/if_ix.c
+++ sys/dev/ixgbe/if_ix.c
@@ -1195,9 +1195,10 @@
struct adapter *adapter = que->adapter;
struct tx_ring *txr = que->txr;
struct ifnet *ifp = adapter->ifp;
+ bool more;
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
- ixgbe_rxeof(que);
+ more = ixgbe_rxeof(que);
IXGBE_TX_LOCK(txr);
ixgbe_txeof(txr);
#ifndef IXGBE_LEGACY_TX
@@ -1208,6 +1209,10 @@
ixgbe_start_locked(txr, ifp);
#endif
IXGBE_TX_UNLOCK(txr);
+ if (more) {
+ taskqueue_enqueue(que->tq, &que->que_task);
+ return;
+ }
}
/* Reenable this interrupt */

File Metadata

Mime Type
text/plain
Expires
Sun, May 24, 2:43 PM (20 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33474833
Default Alt Text
D2343.id4947.diff (676 B)

Event Timeline