diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-02-27 10:50:11 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-02-27 10:50:11 +1100 |
commit | f851013cb2238a82782da03ac82a14447933f90d (patch) | |
tree | f97835f69d244865c4a5397d0e6d45d1276a919d /drivers/net/ethernet/broadcom/cnic.c | |
parent | f2699491e06584a2ebb0939f108ad29f3b151456 (diff) | |
parent | 203738e548cefc3fc3c2f73a9063176c9f3583d5 (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.c | 6 |
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 |