diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-03 09:35:31 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-05 13:29:40 +0400 |
commit | 534cb283efef9fdbd9f70f4615054d26aa444dd6 (patch) | |
tree | e044ce1397f698d107282ae035fb0d30944b86c3 /drivers/net/ethernet/chelsio/cxgb3/l2t.c | |
parent | 1d248b1cf4e09dbec8cef5f7fbeda5874248bd09 (diff) | |
download | linux-534cb283efef9fdbd9f70f4615054d26aa444dd6.tar.xz |
cxgb3: Convert t3_l2t_get() over to dst_neigh_lookup().
This means passing in a suitable destination address.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb3/l2t.c')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb3/l2t.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb3/l2t.c b/drivers/net/ethernet/chelsio/cxgb3/l2t.c index 3fa3c8833ed7..8d53438638b2 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/l2t.c +++ b/drivers/net/ethernet/chelsio/cxgb3/l2t.c @@ -299,7 +299,7 @@ static inline void reuse_entry(struct l2t_entry *e, struct neighbour *neigh) } struct l2t_entry *t3_l2t_get(struct t3cdev *cdev, struct dst_entry *dst, - struct net_device *dev) + struct net_device *dev, const void *daddr) { struct l2t_entry *e = NULL; struct neighbour *neigh; @@ -311,7 +311,7 @@ struct l2t_entry *t3_l2t_get(struct t3cdev *cdev, struct dst_entry *dst, int smt_idx; rcu_read_lock(); - neigh = dst_get_neighbour_noref(dst); + neigh = dst_neigh_lookup(dst, daddr); if (!neigh) goto done_rcu; @@ -360,6 +360,8 @@ struct l2t_entry *t3_l2t_get(struct t3cdev *cdev, struct dst_entry *dst, done_unlock: write_unlock_bh(&d->lock); done_rcu: + if (neigh) + neigh_release(neigh); rcu_read_unlock(); return e; } |