aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r--net/sched/sch_api.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index bef2d645a366..166fcca86e7a 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1417,7 +1417,9 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
1417 goto out; 1417 goto out;
1418 break; 1418 break;
1419 case RTM_DELTCLASS: 1419 case RTM_DELTCLASS:
1420 err = cops->delete(q, cl); 1420 err = -EOPNOTSUPP;
1421 if (cops->delete)
1422 err = cops->delete(q, cl);
1421 if (err == 0) 1423 if (err == 0)
1422 tclass_notify(skb, n, q, cl, RTM_DELTCLASS); 1424 tclass_notify(skb, n, q, cl, RTM_DELTCLASS);
1423 goto out; 1425 goto out;
@@ -1431,7 +1433,9 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
1431 } 1433 }
1432 1434
1433 new_cl = cl; 1435 new_cl = cl;
1434 err = cops->change(q, clid, pid, tca, &new_cl); 1436 err = -EOPNOTSUPP;
1437 if (cops->change)
1438 err = cops->change(q, clid, pid, tca, &new_cl);
1435 if (err == 0) 1439 if (err == 0)
1436 tclass_notify(skb, n, q, new_cl, RTM_NEWTCLASS); 1440 tclass_notify(skb, n, q, new_cl, RTM_NEWTCLASS);
1437 1441