net/mlx5e: Remove redundant WARN when we cannot find neigh entry
authorRoi Dayan <roid@mellanox.com>
Mon, 4 Dec 2017 14:46:30 +0000 (16:46 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Mon, 23 Jul 2018 22:01:11 +0000 (15:01 -0700)
It is possible for neigh entry not to exist if it was cleaned already.
When we bring down an interface the neigh gets deleted but it could be
that our listener for neigh event to clear the encap valid bit didn't
start yet and the neigh update last used work is started first.
In this scenario the encap entry has valid bit set but the neigh entry
doesn't exist.

Signed-off-by: Roi Dayan <roid@mellanox.com>
Reviewed-by: Paul Blakey <paulb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

index 0edf4751a8ba2549e380e7ddc27f57b34d49521a..335a08bc381dd37589d400b18dddcaf1fe35d5d3 100644 (file)
@@ -1032,10 +1032,8 @@ void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe)
                 * dst ip pair
                 */
                n = neigh_lookup(tbl, &m_neigh->dst_ip, m_neigh->dev);
                 * dst ip pair
                 */
                n = neigh_lookup(tbl, &m_neigh->dst_ip, m_neigh->dev);
-               if (!n) {
-                       WARN(1, "The neighbour already freed\n");
+               if (!n)
                        return;
                        return;
-               }
 
                neigh_event_send(n, NULL);
                neigh_release(n);
 
                neigh_event_send(n, NULL);
                neigh_release(n);