diff options
Diffstat (limited to 'net/8021q/vlan.c')
| -rw-r--r-- | net/8021q/vlan.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 1f6d31670bc7..91e412b0ab00 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c | |||
| @@ -578,6 +578,14 @@ static int vlan_device_event(struct notifier_block *unused, unsigned long event, | |||
| 578 | if (!vlandev) | 578 | if (!vlandev) |
| 579 | continue; | 579 | continue; |
| 580 | 580 | ||
| 581 | if (netif_carrier_ok(dev)) { | ||
| 582 | if (!netif_carrier_ok(vlandev)) | ||
| 583 | netif_carrier_on(vlandev); | ||
| 584 | } else { | ||
| 585 | if (netif_carrier_ok(vlandev)) | ||
| 586 | netif_carrier_off(vlandev); | ||
| 587 | } | ||
| 588 | |||
| 581 | if ((vlandev->state & VLAN_LINK_STATE_MASK) != flgs) { | 589 | if ((vlandev->state & VLAN_LINK_STATE_MASK) != flgs) { |
| 582 | vlandev->state = (vlandev->state &~ VLAN_LINK_STATE_MASK) | 590 | vlandev->state = (vlandev->state &~ VLAN_LINK_STATE_MASK) |
| 583 | | flgs; | 591 | | flgs; |
