diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/pkgdefs/SUNWiwh/postinstall | 4 | ||||
-rw-r--r-- | usr/src/uts/common/io/e1000g/README | 5 | ||||
-rw-r--r-- | usr/src/uts/common/io/e1000g/e1000g_main.c | 9 |
3 files changed, 14 insertions, 4 deletions
diff --git a/usr/src/pkgdefs/SUNWiwh/postinstall b/usr/src/pkgdefs/SUNWiwh/postinstall index 2e0c2a0940..c1f234ed2d 100644 --- a/usr/src/pkgdefs/SUNWiwh/postinstall +++ b/usr/src/pkgdefs/SUNWiwh/postinstall @@ -21,14 +21,14 @@ # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Driver info DRV=iwh DRVALIAS='"pciex8086,4232" "pciex8086,4235" "pciex8086,4236" -"pciex8086,4237" "pciex8086,423a"' +"pciex8086,4237" "pciex8086,423a" "pciex8086,4236.8086.1011"' BASEDIR=${BASEDIR:-/} diff --git a/usr/src/uts/common/io/e1000g/README b/usr/src/uts/common/io/e1000g/README index c81f05bff8..5a4d4386d5 100644 --- a/usr/src/uts/common/io/e1000g/README +++ b/usr/src/uts/common/io/e1000g/README @@ -662,3 +662,8 @@ Notes on packaging: This version has the following fixes: 6812227 e1000g(intel 82571 adapter) must support MTU size of 9216 +5.3.8 +====== + This version has the following fixes: + 6775380 the e1000g link hung at "up" state after down and unplumb the interface + 6816786 e1000g panics on Lenovo X301 with snv_109 diff --git a/usr/src/uts/common/io/e1000g/e1000g_main.c b/usr/src/uts/common/io/e1000g/e1000g_main.c index cec4981d5e..b92b7c8b23 100644 --- a/usr/src/uts/common/io/e1000g/e1000g_main.c +++ b/usr/src/uts/common/io/e1000g/e1000g_main.c @@ -46,7 +46,7 @@ static char ident[] = "Intel PRO/1000 Ethernet"; static char e1000g_string[] = "Intel(R) PRO/1000 Network Connection"; -static char e1000g_version[] = "Driver Ver. 5.3.7"; +static char e1000g_version[] = "Driver Ver. 5.3.8"; /* * Proto types for DDI entry points @@ -1032,7 +1032,7 @@ e1000g_unattach(dev_info_t *devinfo, struct e1000g *Adapter) } mutex_enter(&e1000g_rx_detach_lock); - if (e1000g_force_detach) { + if (e1000g_force_detach && (Adapter->priv_devi_node != NULL)) { devi_node = Adapter->priv_devi_node; devi_node->flag |= E1000G_PRIV_DEVI_DETACH; @@ -1826,6 +1826,11 @@ e1000g_stop(struct e1000g *Adapter, boolean_t global) } mutex_exit(&e1000g_rx_detach_lock); } + + if (Adapter->link_state == LINK_STATE_UP) { + Adapter->link_state = LINK_STATE_UNKNOWN; + mac_link_update(Adapter->mh, Adapter->link_state); + } } static void |