cxgb4i: Convert over to dst_neigh_lookup().
authorDavid S. Miller <davem@davemloft.net>
Tue, 3 Jul 2012 05:10:55 +0000 (22:10 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Jul 2012 08:10:04 +0000 (01:10 -0700)
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c

index 5a4a3bfc60cf891d6902f35e8baca702bdc68fe0..cc9a06897f3472c7987ac572236386ac88244076 100644 (file)
@@ -1142,7 +1142,7 @@ static int init_act_open(struct cxgbi_sock *csk)
        cxgbi_sock_set_flag(csk, CTPF_HAS_ATID);
        cxgbi_sock_get(csk);
 
-       n = dst_get_neighbour_noref(csk->dst);
+       n = dst_neigh_lookup(csk->dst, &csk->daddr.sin_addr.s_addr);
        if (!n) {
                pr_err("%s, can't get neighbour of csk->dst.\n", ndev->name);
                goto rel_resource;
@@ -1182,9 +1182,12 @@ static int init_act_open(struct cxgbi_sock *csk)
 
        cxgbi_sock_set_state(csk, CTP_ACTIVE_OPEN);
        send_act_open_req(csk, skb, csk->l2t);
+       neigh_release(n);
        return 0;
 
 rel_resource:
+       if (n)
+               neigh_release(n);
        if (skb)
                __kfree_skb(skb);
        return -EINVAL;