summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRongQing.Li <roy.qing.li@gmail.com>2012-02-21 22:10:50 +0000
committerDavid S. Miller <davem@davemloft.net>2012-02-22 15:30:14 -0500
commit0541743b4b35f2ddc9e490b4e354930168b60d23 (patch)
tree009a1520ba99c4150f96e3a8a79b5b21929a8028
parent5095d64db1b978bdb31d30fed9e47dbf04f729be (diff)
ethernet/broadcom: ip6_route_output() never returns NULL.
ip6_route_output() never returns NULL, so it is wrong to check if the return value is NULL. Signed-off-by: RongQing.Li <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-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 dd3a0a232ea..818a573669e 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