diff options
author | Phil Oester <kernel@linuxace.com> | 2010-08-17 18:45:08 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-19 00:26:46 -0700 |
commit | 0ac820eebe9008094040955d294ef7b33b418413 (patch) | |
tree | 5ce37697c91666fd5c83930c32cf8181dc7e67c7 /net | |
parent | 0645bab7da3cb021157e5c661ef35f1d1226785a (diff) |
vlan: Match underlying dev carrier on vlan add
When adding a new vlan, if the underlying interface has no carrier,
then the newly added vlan interface should also have no carrier.
At present, this is not true - the newly added vlan is added with
carrier up. Fix by checking state of real device.
Signed-off-by: Phil Oester <kernel@linuxace.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/8021q/vlan_dev.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 3d59c9bf8fe..3bccdd12a26 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c @@ -510,7 +510,8 @@ static int vlan_dev_open(struct net_device *dev) if (vlan->flags & VLAN_FLAG_GVRP) vlan_gvrp_request_join(dev); - netif_carrier_on(dev); + if (netif_carrier_ok(real_dev)) + netif_carrier_on(dev); return 0; clear_allmulti: |