Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 289855
b: refs/heads/master
c: 3329bdf
h: refs/heads/master
i:
  289853: 6ef93e3
  289851: b2805ab
  289847: bb62f1c
  289839: e722282
  289823: 375c621
  289791: 4d43e99
v: v3
  • Loading branch information
David S. Miller committed Feb 1, 2012
1 parent dee9d2e commit 0c34e79
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f79d52c254e4e2cef3da64dc02ade3bc8f10c539
refs/heads/master: 3329bdfc4071840816d6666c6463fdb0bd4c8264
24 changes: 15 additions & 9 deletions trunk/net/decnet/dn_neigh.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,17 +205,23 @@ static int dn_neigh_output_packet(struct sk_buff *skb)
struct neighbour *neigh = dst_get_neighbour_noref(dst);
struct net_device *dev = neigh->dev;
char mac_addr[ETH_ALEN];
unsigned int seq;
int err;

dn_dn2eth(mac_addr, rt->rt_local_src);
if (dev_hard_header(skb, dev, ntohs(skb->protocol), neigh->ha,
mac_addr, skb->len) >= 0)
return dev_queue_xmit(skb);

if (net_ratelimit())
printk(KERN_DEBUG "dn_neigh_output_packet: oops, can't send packet\n");

kfree_skb(skb);
return -EINVAL;
do {
seq = read_seqbegin(&neigh->ha_lock);
err = dev_hard_header(skb, dev, ntohs(skb->protocol),
neigh->ha, mac_addr, skb->len);
} while (read_seqretry(&neigh->ha_lock, seq));

if (err >= 0)
err = dev_queue_xmit(skb);
else {
kfree_skb(skb);
err = -EINVAL;
}
return err;
}

static int dn_long_output(struct neighbour *neigh, struct sk_buff *skb)
Expand Down

0 comments on commit 0c34e79

Please sign in to comment.