summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/bge/bge_main2.c
diff options
context:
space:
mode:
authoryong tan - Sun Microsystems - Beijing China <Yong.Tan@Sun.COM>2009-07-23 10:37:40 +0800
committeryong tan - Sun Microsystems - Beijing China <Yong.Tan@Sun.COM>2009-07-23 10:37:40 +0800
commit35bff3c25e305b98f6a6e5317efb1f96e76bba0d (patch)
treead94e9db077258fc7ef33b5497203fb33ddf1b5f /usr/src/uts/common/io/bge/bge_main2.c
parent464dca6ed5bb17d3d3b4540329449bb2e636c814 (diff)
downloadillumos-gate-35bff3c25e305b98f6a6e5317efb1f96e76bba0d.tar.gz
6772728 ping with big size packets failed on bge interface after enable the jumbo
Diffstat (limited to 'usr/src/uts/common/io/bge/bge_main2.c')
-rw-r--r--usr/src/uts/common/io/bge/bge_main2.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/usr/src/uts/common/io/bge/bge_main2.c b/usr/src/uts/common/io/bge/bge_main2.c
index 19dd51d4ca..7155bfe66d 100644
--- a/usr/src/uts/common/io/bge/bge_main2.c
+++ b/usr/src/uts/common/io/bge/bge_main2.c
@@ -37,7 +37,7 @@ static char bge_ident[] = "Broadcom Gb Ethernet";
/*
* Make sure you keep the version ID up to date!
*/
-static char bge_version[] = "Broadcom Gb Ethernet v1.08";
+static char bge_version[] = "Broadcom Gb Ethernet v1.09";
/*
* Property names
@@ -1101,7 +1101,7 @@ bge_m_getprop(void *barg, const char *pr_name, mac_prop_id_t pr_num,
range.mpr_type = MAC_PROPVAL_UINT32;
range.range_uint32[0].mpur_min =
range.range_uint32[0].mpur_max = BGE_DEFAULT_MTU;
- if (bge_jumbo_enable && !(flags & CHIP_FLAG_NO_JUMBO))
+ if (!(flags & CHIP_FLAG_NO_JUMBO))
range.range_uint32[0].mpur_max =
BGE_MAXIMUM_MTU;
bcopy(&range, pr_val, sizeof (range));
@@ -3293,14 +3293,6 @@ bge_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd)
cidp->tx_rings = ddi_prop_get_int(DDI_DEV_T_ANY, devinfo,
DDI_PROP_DONTPASS, txrings_propname, cidp->tx_rings);
- if (bge_jumbo_enable == B_TRUE) {
- cidp->default_mtu = ddi_prop_get_int(DDI_DEV_T_ANY, devinfo,
- DDI_PROP_DONTPASS, default_mtu, BGE_DEFAULT_MTU);
- if ((cidp->default_mtu < BGE_DEFAULT_MTU)||
- (cidp->default_mtu > BGE_MAXIMUM_MTU)) {
- cidp->default_mtu = BGE_DEFAULT_MTU;
- }
- }
/*
* Map operating registers
*/
@@ -3322,6 +3314,13 @@ bge_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd)
goto attach_fail;
}
+ cidp->default_mtu = ddi_prop_get_int(DDI_DEV_T_ANY, devinfo,
+ DDI_PROP_DONTPASS, default_mtu, BGE_DEFAULT_MTU);
+ if ((cidp->flags & CHIP_FLAG_NO_JUMBO) ||
+ (cidp->default_mtu < BGE_DEFAULT_MTU) ||
+ (cidp->default_mtu > BGE_MAXIMUM_MTU)) {
+ cidp->default_mtu = BGE_DEFAULT_MTU;
+ }
err = bge_alloc_bufs(bgep);
if (err != DDI_SUCCESS) {