diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c index 853604685965128dcd4af54ad05f784b4237e205..1fb39e1f9d077beb4fdb440459f18116b561f334 100644 --- a/net/sched/act_vlan.c +++ b/net/sched/act_vlan.c @@ -161,6 +161,8 @@ static int tcf_vlan_init(struct net *net, struct nlattr *nla, case htons(ETH_P_8021AD): break; default: + if (exists) + tcf_idr_release(*a, bind); return -EPROTONOSUPPORT; } } else {