Note that IFCAP_HWCSUM has two bits set. Because of this, it doesn't XOR
cleanly in the current if-else condition, but I'm not sure whether that
was intended. I just wanted to pass this by people in case it was a
logical bug.


--- dev/ixgb/if_ixgb.c.orig
+++ dev/ixgb/if_ixgb.c
@@ -599,10 +599,7 @@ ixgb_ioctl(struct ifnet * ifp, IOCTL_CMD
                }
 #endif /* DEVICE_POLLING */
                if (mask & IFCAP_HWCSUM) {
-                       if (IFCAP_HWCSUM & ifp->if_capenable)
-                               ifp->if_capenable &= ~IFCAP_HWCSUM;
-                       else
-                               ifp->if_capenable |= IFCAP_HWCSUM;
+                       ifp->if_capenable ^= IFCAP_HWCSUM;
                        if (ifp->if_drv_flags & IFF_DRV_RUNNING)
                                ixgb_init(adapter);
                }
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to