On 11 Dec, Michael McConville wrote: > 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. Yeah, the original code looks incorrect. If HWCSUM is totally disabled and the user requests RXCSUM, then the current code will enable both RXCSUM and TXCSUM. > --- dev/ixgb/if_ixgb.c.orig > +++ dev/ixgb/if_ixgb.c > _at__at_ -599,10 +599,7 _at__at_ 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; I think that would need to be: ifp->if_capenable ^= (mask & IFCAP_HWCSUM); > if (ifp->if_drv_flags & IFF_DRV_RUNNING) > ixgb_init(adapter); > } > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Fri Dec 11 2015 - 20:19:33 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:01 UTC