Page MenuHomeFreeBSD

D17881.1794800354.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D17881.1794800354.diff

Index: sys/net/iflib.c
===================================================================
--- sys/net/iflib.c
+++ 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
Mon, Nov 16, 3:39 AM (5 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41758043
Default Alt Text
D17881.1794800354.diff (1 KB)

Event Timeline