diff options
author | Bruce Allan <bruce.w.allan@intel.com> | 2006-09-27 12:54:08 -0700 |
---|---|---|
committer | Auke Kok <juke-jan.h.kok@intel.com> | 2006-09-27 12:54:08 -0700 |
commit | 4666560a37dfdc748ae7c1d9f09c7b6ff03ce899 (patch) | |
tree | 95c4ff6ab9ba1e21b5eb35e59af7af5ac49b6869 /drivers/net | |
parent | 2a88c17371c3c263c28330093a4cd21bbeceb677 (diff) | |
download | linux-4666560a37dfdc748ae7c1d9f09c7b6ff03ce899.tar.gz linux-4666560a37dfdc748ae7c1d9f09c7b6ff03ce899.tar.bz2 linux-4666560a37dfdc748ae7c1d9f09c7b6ff03ce899.zip |
e1000: don't strip vlan ID if 8021q claims it
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 5098dd7df7cd..593bfbeef8d4 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -1344,8 +1344,12 @@ e1000_close(struct net_device *netdev) e1000_free_all_tx_resources(adapter); e1000_free_all_rx_resources(adapter); + /* kill manageability vlan ID if supported, but not if a vlan with + * the same ID is registered on the host OS (let 8021q kill it) */ if ((adapter->hw.mng_cookie.status & - E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT)) { + E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT) && + !(adapter->vlgrp && + adapter->vlgrp->vlan_devices[adapter->mng_vlan_id])) { e1000_vlan_rx_kill_vid(netdev, adapter->mng_vlan_id); } |