| From 65a1cdc3167ddaccf5b9f2012fe7c7471b337722 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 23 May 2022 15:39:13 +0300 |
| Subject: net/mlx5e: Update netdev features after changing XDP state |
| |
| From: Maxim Mikityanskiy <maximmi@nvidia.com> |
| |
| [ Upstream commit f6279f113ad593971999c877eb69dc3d36a75894 ] |
| |
| Some features (LRO, HW GRO) conflict with XDP. If there is an attempt to |
| enable such features while XDP is active, they will be set to `off |
| [requested on]`. In order to activate these features after XDP is turned |
| off, the driver needs to call netdev_update_features(). This commit adds |
| this missing call after XDP state changes. |
| |
| Fixes: cf6e34c8c22f ("net/mlx5e: Properly block LRO when XDP is enabled") |
| Fixes: b0617e7b3500 ("net/mlx5e: Properly block HW GRO when XDP is enabled") |
| Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com> |
| Reviewed-by: Tariq Toukan <tariqt@nvidia.com> |
| Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c |
| index 6a35af2c2c8b..58b6c8b82fd0 100644 |
| --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c |
| +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c |
| @@ -4581,6 +4581,11 @@ static int mlx5e_xdp_set(struct net_device *netdev, struct bpf_prog *prog) |
| |
| unlock: |
| mutex_unlock(&priv->state_lock); |
| + |
| + /* Need to fix some features. */ |
| + if (!err) |
| + netdev_update_features(netdev); |
| + |
| return err; |
| } |
| |
| -- |
| 2.35.1 |
| |