summaryrefslogtreecommitdiffstats
path: root/sys/dev/msk/if_msk.c
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2013-02-27 05:03:35 +0000
committeryongari <yongari@FreeBSD.org>2013-02-27 05:03:35 +0000
commitce7d028db9f232c0df518a1f0a89c816791cdd1c (patch)
tree5a899e447ae40030f337cd7058c4eeafaf3e056c /sys/dev/msk/if_msk.c
parent10eb1694de00c5e3aedd3aaa72a5f93557ab9779 (diff)
downloadFreeBSD-src-ce7d028db9f232c0df518a1f0a89c816791cdd1c.zip
FreeBSD-src-ce7d028db9f232c0df518a1f0a89c816791cdd1c.tar.gz
RX checksum offloading on old Yukon controllers seem to cause more
problems. Disable RX checksum offloading on controllers that don't use new descriptor format but give chance to enable it with ifconfig(8).
Diffstat (limited to 'sys/dev/msk/if_msk.c')
-rw-r--r--sys/dev/msk/if_msk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index d0ca808..664575c 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -1695,6 +1695,12 @@ msk_attach(device_t dev)
ifp->if_capabilities |= IFCAP_VLAN_HWCSUM;
}
ifp->if_capenable = ifp->if_capabilities;
+ /*
+ * Disable RX checksum offloading on controllers that don't use
+ * new descriptor format but give chance to enable it.
+ */
+ if ((sc_if->msk_flags & MSK_FLAG_DESCV2) == 0)
+ ifp->if_capenable &= ~IFCAP_RXCSUM;
/*
* Tell the upper layer(s) we support long frames.
OpenPOWER on IntegriCloud