From c0e43de9a3dbec16a062ab026e2007c387990641 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Mon, 2 Jul 2012 22:10:55 -0700 Subject: [PATCH] --- yaml --- r: 314971 b: refs/heads/master c: c473737765c0f72ceb5b245ada7ead798d88b4f6 h: refs/heads/master i: 314969: 01eb27c3ca61609c7c2035a6b3d83e6d65acf35d 314967: bbd3dd82115f4772b7fcf8bf730a880c65de7f1d v: v3 --- [refs] | 2 +- trunk/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 4d4bead54c6f..9aeb39dc34aa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0b399d46b317a6d0a73ad523e014ecfa4d449769 +refs/heads/master: c473737765c0f72ceb5b245ada7ead798d88b4f6 diff --git a/trunk/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/trunk/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c index 5a4a3bfc60cf..cc9a06897f34 100644 --- a/trunk/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c +++ b/trunk/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c @@ -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;