summaryrefslogtreecommitdiff
path: root/sys/dev/msk
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2008-03-18 01:31:37 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2008-03-18 01:31:37 +0000
commita0f9e56724378566b9cf9e340f093882683eed9b (patch)
tree630ad1b06eb75a03d03103fe463f6dea3611014a /sys/dev/msk
parentfb3c1c34e13ba019066c202e17abbada5d5ee75d (diff)
Notes
Diffstat (limited to 'sys/dev/msk')
-rw-r--r--sys/dev/msk/if_msk.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index 7ef1279047d69..02d865b4c2722 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -1486,10 +1486,14 @@ msk_attach(device_t dev)
ether_ifattach(ifp, eaddr);
MSK_IF_LOCK(sc_if);
- /* VLAN capability setup */
- ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING;
- if (ifp->if_capabilities & IFCAP_HWCSUM)
- ifp->if_capabilities |= IFCAP_VLAN_HWCSUM;
+ /*
+ * VLAN capability setup
+ * Due to Tx checksum offload hardware bugs, msk(4) manually
+ * computes checksum for short frames. For VLAN tagged frames
+ * this workaround does not work so disable checksum offload
+ * for VLAN interface.
+ */
+ ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING;
ifp->if_capenable = ifp->if_capabilities;
/*