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>
This commit is contained in:
Phil Oester 2010-08-17 18:45:08 +00:00 committed by David S. Miller
parent 0645bab7da
commit 0ac820eebe

View File

@ -510,7 +510,8 @@ static int vlan_dev_open(struct net_device *dev)
if (vlan->flags & VLAN_FLAG_GVRP) if (vlan->flags & VLAN_FLAG_GVRP)
vlan_gvrp_request_join(dev); vlan_gvrp_request_join(dev);
netif_carrier_on(dev); if (netif_carrier_ok(real_dev))
netif_carrier_on(dev);
return 0; return 0;
clear_allmulti: clear_allmulti: