diff options
Diffstat (limited to 'net/8021q/vlan_mvrp.c')
-rw-r--r-- | net/8021q/vlan_mvrp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/8021q/vlan_mvrp.c b/net/8021q/vlan_mvrp.c index d9ec1d5964aa..e0fe091801b0 100644 --- a/net/8021q/vlan_mvrp.c +++ b/net/8021q/vlan_mvrp.c | |||
@@ -38,6 +38,8 @@ int vlan_mvrp_request_join(const struct net_device *dev) | |||
38 | const struct vlan_dev_priv *vlan = vlan_dev_priv(dev); | 38 | const struct vlan_dev_priv *vlan = vlan_dev_priv(dev); |
39 | __be16 vlan_id = htons(vlan->vlan_id); | 39 | __be16 vlan_id = htons(vlan->vlan_id); |
40 | 40 | ||
41 | if (vlan->vlan_proto != htons(ETH_P_8021Q)) | ||
42 | return 0; | ||
41 | return mrp_request_join(vlan->real_dev, &vlan_mrp_app, | 43 | return mrp_request_join(vlan->real_dev, &vlan_mrp_app, |
42 | &vlan_id, sizeof(vlan_id), MVRP_ATTR_VID); | 44 | &vlan_id, sizeof(vlan_id), MVRP_ATTR_VID); |
43 | } | 45 | } |
@@ -47,6 +49,8 @@ void vlan_mvrp_request_leave(const struct net_device *dev) | |||
47 | const struct vlan_dev_priv *vlan = vlan_dev_priv(dev); | 49 | const struct vlan_dev_priv *vlan = vlan_dev_priv(dev); |
48 | __be16 vlan_id = htons(vlan->vlan_id); | 50 | __be16 vlan_id = htons(vlan->vlan_id); |
49 | 51 | ||
52 | if (vlan->vlan_proto != htons(ETH_P_8021Q)) | ||
53 | return; | ||
50 | mrp_request_leave(vlan->real_dev, &vlan_mrp_app, | 54 | mrp_request_leave(vlan->real_dev, &vlan_mrp_app, |
51 | &vlan_id, sizeof(vlan_id), MVRP_ATTR_VID); | 55 | &vlan_id, sizeof(vlan_id), MVRP_ATTR_VID); |
52 | } | 56 | } |