aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_teql.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-10-09 04:36:32 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:52:50 -0400
commit0c4e85813d0a94eeb8bf813397a4907bdd7bb610 (patch)
tree53ee948abc930bb1c5cd270c490f87fda5eb45b3 /net/sched/sch_teql.c
parent4c94f8c0c9a82fad84bc5df453aff755cfed70b7 (diff)
[NET]: Wrap netdevice hardware header creation.
Add inline for common usage of hardware header creation, and fix bug in IPV6 mcast where the assumption about negative return is an errno. Negative return from hard_header means not enough space was available,(ie -N bytes). Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_teql.c')
-rw-r--r--net/sched/sch_teql.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index 146f453d7378..d13970f3c7b1 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -232,9 +232,12 @@ __teql_resolve(struct sk_buff *skb, struct sk_buff *skb_res, struct net_device *
232 } 232 }
233 if (neigh_event_send(n, skb_res) == 0) { 233 if (neigh_event_send(n, skb_res) == 0) {
234 int err; 234 int err;
235
235 read_lock(&n->lock); 236 read_lock(&n->lock);
236 err = dev->hard_header(skb, dev, ntohs(skb->protocol), n->ha, NULL, skb->len); 237 err = dev_hard_header(skb, dev, ntohs(skb->protocol),
238 n->ha, NULL, skb->len);
237 read_unlock(&n->lock); 239 read_unlock(&n->lock);
240
238 if (err < 0) { 241 if (err < 0) {
239 neigh_release(n); 242 neigh_release(n);
240 return -EINVAL; 243 return -EINVAL;