Page MenuHomeFreeBSD

D33155.id99120.diff
No OneTemporary

D33155.id99120.diff

diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c
--- a/sys/dev/e1000/em_txrx.c
+++ b/sys/dev/e1000/em_txrx.c
@@ -665,6 +665,7 @@
if_softc_ctx_t scctx = sc->shared;
struct em_rx_queue *que = &sc->rx_queues[ri->iri_qsidx];
struct rx_ring *rxr = &que->rxr;
+ struct ifnet *ifp = iflib_get_ifp(sc->ctx);
union e1000_rx_desc_extended *rxd;
u16 len;
@@ -706,7 +707,8 @@
i++;
} while (!eop);
- em_receive_checksum(staterr, staterr >> 24, ri);
+ if (if_getcapenable(ifp) & IFCAP_RXCSUM)
+ em_receive_checksum(staterr, staterr >> 24, ri);
if (staterr & E1000_RXD_STAT_VP) {
vtag = le16toh(rxd->wb.upper.vlan);

File Metadata

Mime Type
text/plain
Expires
Sun, May 17, 3:09 AM (14 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33170487
Default Alt Text
D33155.id99120.diff (643 B)

Event Timeline