Page MenuHomeFreeBSD

D17881.diff
No OneTemporary

D17881.diff

Index: head/sys/net/iflib.c
===================================================================
--- head/sys/net/iflib.c
+++ head/sys/net/iflib.c
@@ -4256,18 +4256,13 @@
setmask |= (mask & IFCAP_WOL);
/*
- * If we're disabling any RX csum, disable all the ones
- * the driver supports. This assumes all supported are
- * enabled.
- *
- * Otherwise, if they've changed, enable all of them.
+ * If any RX csum has changed, change all the ones that
+ * are supported by the driver.
*/
- if ((setmask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) <
- (oldmask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)))
- setmask &= ~(IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6);
- else if ((setmask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) !=
- (oldmask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)))
- setmask |= (mask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6));
+ if (setmask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) {
+ setmask |= ctx->ifc_softc_ctx.isc_capabilities &
+ (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6);
+ }
/*
* want to ensure that traffic has stopped before we change any of the flags

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 12, 8:18 PM (19 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16615844
Default Alt Text
D17881.diff (1 KB)

Event Timeline