Skip to content

Commit

Permalink
net/mlx4_en: use READ_ONCE when freeing xdp_prog
Browse files Browse the repository at this point in the history
For consistency, and in order to hint at the synchronous nature of the
xdp_prog field, use READ_ONCE in the destroy path of the ring. All
occurrences should now use either READ_ONCE or xchg.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Brenden Blanco authored and David S. Miller committed Jul 21, 2016
1 parent f67fe5c commit cb7386d
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/net/ethernet/mellanox/mlx4/en_rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit cb7386d

Please sign in to comment.