aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_teql.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_teql.c')
-rw-r--r--net/sched/sch_teql.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index 5a002c247231..3415b6ce1c0a 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -11,6 +11,7 @@
11#include <linux/module.h> 11#include <linux/module.h>
12#include <linux/types.h> 12#include <linux/types.h>
13#include <linux/kernel.h> 13#include <linux/kernel.h>
14#include <linux/slab.h>
14#include <linux/string.h> 15#include <linux/string.h>
15#include <linux/errno.h> 16#include <linux/errno.h>
16#include <linux/if_arp.h> 17#include <linux/if_arp.h>
@@ -190,10 +191,13 @@ static int teql_qdisc_init(struct Qdisc *sch, struct nlattr *opt)
190 191
191 if (m->slaves) { 192 if (m->slaves) {
192 if (m->dev->flags & IFF_UP) { 193 if (m->dev->flags & IFF_UP) {
193 if ((m->dev->flags&IFF_POINTOPOINT && !(dev->flags&IFF_POINTOPOINT)) 194 if ((m->dev->flags & IFF_POINTOPOINT &&
194 || (m->dev->flags&IFF_BROADCAST && !(dev->flags&IFF_BROADCAST)) 195 !(dev->flags & IFF_POINTOPOINT)) ||
195 || (m->dev->flags&IFF_MULTICAST && !(dev->flags&IFF_MULTICAST)) 196 (m->dev->flags & IFF_BROADCAST &&
196 || dev->mtu < m->dev->mtu) 197 !(dev->flags & IFF_BROADCAST)) ||
198 (m->dev->flags & IFF_MULTICAST &&
199 !(dev->flags & IFF_MULTICAST)) ||
200 dev->mtu < m->dev->mtu)
197 return -EINVAL; 201 return -EINVAL;
198 } else { 202 } else {
199 if (!(dev->flags&IFF_POINTOPOINT)) 203 if (!(dev->flags&IFF_POINTOPOINT))