summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/broadcom/cnic.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-02-27 10:50:11 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-02-27 10:50:11 +1100
commitf851013cb2238a82782da03ac82a14447933f90d (patch)
treef97835f69d244865c4a5397d0e6d45d1276a919d /drivers/net/ethernet/broadcom/cnic.c
parentf2699491e06584a2ebb0939f108ad29f3b151456 (diff)
parent203738e548cefc3fc3c2f73a9063176c9f3583d5 (diff)
Merge remote-tracking branch 'origin/master' into next
Diffstat (limited to 'drivers/net/ethernet/broadcom/cnic.c')
-rw-r--r--drivers/net/ethernet/broadcom/cnic.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
index dd3a0a232ea0..818a573669e6 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -3584,7 +3584,11 @@ static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr,
fl6.flowi6_oif = dst_addr->sin6_scope_id;
*dst = ip6_route_output(&init_net, NULL, &fl6);
- if (*dst)
+ if ((*dst)->error) {
+ dst_release(*dst);
+ *dst = NULL;
+ return -ENETUNREACH;
+ } else
return 0;
#endif