diff options
author | David S. Miller <davem@davemloft.net> | 2016-07-20 22:07:24 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-20 22:07:24 -0700 |
commit | 1c137ef48662904ba83812de94dce01f99b24f0c (patch) | |
tree | 200e2c322ef0863e1940ee08af5ae1d38947877e /drivers/net | |
parent | f67fe5c80ba09edeca7f3d05800382cca89bc1d5 (diff) | |
parent | d9094bda5c985d1f9da66e9e3fd6323b49dee44d (diff) |
Merge branch 'xdp-cleanups'
Brenden Blanco says:
====================
misc cleanups for xdp
This addresses several of the non-blocking comments left over from the
xdp patch set. See individual patches for details.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_rx.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 11d88c817137..a02dec6fb256 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -535,9 +535,11 @@ void mlx4_en_destroy_rx_ring(struct mlx4_en_priv *priv, { struct mlx4_en_dev *mdev = priv->mdev; struct mlx4_en_rx_ring *ring = *pring; + struct bpf_prog *old_prog; - if (ring->xdp_prog) - bpf_prog_put(ring->xdp_prog); + old_prog = READ_ONCE(ring->xdp_prog); + if (old_prog) + bpf_prog_put(old_prog); mlx4_free_hwq_res(mdev->dev, &ring->wqres, size * stride + TXBB_SIZE); vfree(ring->rx_info); ring->rx_info = NULL; |