net/mlx5: Release tunnel device after tc update skb
authorChris Mi <cmi@nvidia.com>
Tue, 4 Apr 2023 00:45:04 +0000 (03:45 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Fri, 21 Apr 2023 01:47:32 +0000 (18:47 -0700)
The cited commit causes a regression. Tunnel device is not released
after tc update skb if skb needs to be freed. The following error
message will be printed:

  unregister_netdevice: waiting for vxlan1 to become free. Usage count = 11

Fix it by releasing tunnel device if skb needs to be freed.

Fixes: 93a1ab2c545b ("net/mlx5: Refactor tc miss handling to a single function")
Signed-off-by: Chris Mi <cmi@nvidia.com>
Reviewed-by: Maor Dickman <maord@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c

index 8f7452d..668fdee 100644 (file)
@@ -715,5 +715,6 @@ forward:
        return;
 
 free_skb:
+       dev_put(tc_priv.fwd_dev);
        dev_kfree_skb_any(skb);
 }