diff options
| author | Luigi Rizzo <luigi@FreeBSD.org> | 2013-01-17 22:14:58 +0000 |
|---|---|---|
| committer | Luigi Rizzo <luigi@FreeBSD.org> | 2013-01-17 22:14:58 +0000 |
| commit | 1dce924d2528107dd2c49bf68434bca3135b2fbf (patch) | |
| tree | e7c9983311fd80a432d1eb47b75fb539c22fbc9c /sys/dev/netmap/if_em_netmap.h | |
| parent | f876ffeae3dfa42438cd53f0abf84359c07bfd95 (diff) | |
Notes
Diffstat (limited to 'sys/dev/netmap/if_em_netmap.h')
| -rw-r--r-- | sys/dev/netmap/if_em_netmap.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/netmap/if_em_netmap.h b/sys/dev/netmap/if_em_netmap.h index b4b268ae11a1..776f0e0ee824 100644 --- a/sys/dev/netmap/if_em_netmap.h +++ b/sys/dev/netmap/if_em_netmap.h @@ -292,6 +292,8 @@ em_netmap_rxsync(struct ifnet *ifp, u_int ring_nr, int do_lock) l = rxr->next_to_check; j = netmap_idx_n2k(kring, l); if (netmap_no_pendintr || force_update) { + uint16_t slot_flags = kring->nkr_slot_flags; + for (n = 0; ; n++) { struct e1000_rx_desc *curr = &rxr->rx_base[l]; uint32_t staterr = le32toh(curr->status); @@ -299,6 +301,7 @@ em_netmap_rxsync(struct ifnet *ifp, u_int ring_nr, int do_lock) if ((staterr & E1000_RXD_STAT_DD) == 0) break; ring->slot[j].len = le16toh(curr->length); + ring->slot[j].flags = slot_flags; bus_dmamap_sync(rxr->rxtag, rxr->rx_buffers[l].map, BUS_DMASYNC_POSTREAD); j = (j == lim) ? 0 : j + 1; |
