diff options
author | David S. Miller <davem@davemloft.net> | 2011-10-24 18:18:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-24 18:18:09 -0400 |
commit | 1805b2f04855f07afe3a71d620a68f483b0ed74f (patch) | |
tree | b823b90f37f5404fcaef70f785c70112ca74a329 /drivers/net/bonding | |
parent | 78d81d15b74246c7cedf84894434890b33da3907 (diff) | |
parent | f42af6c486aa5ca6ee62800cb45c5b252020509d (diff) |
Merge branch 'master' of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 41430baa1321..71efff323941 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -1432,6 +1432,8 @@ static rx_handler_result_t bond_handle_frame(struct sk_buff **pskb) | |||
1432 | struct sk_buff *skb = *pskb; | 1432 | struct sk_buff *skb = *pskb; |
1433 | struct slave *slave; | 1433 | struct slave *slave; |
1434 | struct bonding *bond; | 1434 | struct bonding *bond; |
1435 | void (*recv_probe)(struct sk_buff *, struct bonding *, | ||
1436 | struct slave *); | ||
1435 | 1437 | ||
1436 | skb = skb_share_check(skb, GFP_ATOMIC); | 1438 | skb = skb_share_check(skb, GFP_ATOMIC); |
1437 | if (unlikely(!skb)) | 1439 | if (unlikely(!skb)) |
@@ -1445,11 +1447,12 @@ static rx_handler_result_t bond_handle_frame(struct sk_buff **pskb) | |||
1445 | if (bond->params.arp_interval) | 1447 | if (bond->params.arp_interval) |
1446 | slave->dev->last_rx = jiffies; | 1448 | slave->dev->last_rx = jiffies; |
1447 | 1449 | ||
1448 | if (bond->recv_probe) { | 1450 | recv_probe = ACCESS_ONCE(bond->recv_probe); |
1451 | if (recv_probe) { | ||
1449 | struct sk_buff *nskb = skb_clone(skb, GFP_ATOMIC); | 1452 | struct sk_buff *nskb = skb_clone(skb, GFP_ATOMIC); |
1450 | 1453 | ||
1451 | if (likely(nskb)) { | 1454 | if (likely(nskb)) { |
1452 | bond->recv_probe(nskb, bond, slave); | 1455 | recv_probe(nskb, bond, slave); |
1453 | dev_kfree_skb(nskb); | 1456 | dev_kfree_skb(nskb); |
1454 | } | 1457 | } |
1455 | } | 1458 | } |