xdp_tx_lock in struct bnxt_tx_ring_info is used to serialize XDP_REDIRECT on the same TX ring. MPCs will also need this lock for a similar purpose to serialize sending multiple messages on the same MPC, so rename it to tx_lock. Reviewed-by: Andy Gospodarek Reviewed-by: Kalesh AP Reviewed-by: Pavan Chebbi Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 4 ++-- drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 8d5206c1ba8f..b545907294af 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -4148,7 +4148,7 @@ static int bnxt_alloc_tx_rings(struct bnxt *bp) } qidx = bp->tc_to_qidx[j]; ring->queue_id = bp->q_info[qidx].queue_id; - spin_lock_init(&txr->xdp_tx_lock); + spin_lock_init(&txr->tx_lock); if (i < bp->tx_nr_rings_xdp) continue; if (BNXT_RING_TO_TC_OFF(bp, i) == (bp->tx_nr_rings_per_tc - 1)) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index beea928d8c49..6c8ed3cb7dfd 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1013,8 +1013,8 @@ struct bnxt_tx_ring_info { u32 dev_state; struct bnxt_ring_struct tx_ring_struct; - /* Synchronize simultaneous xdp_xmit on same ring */ - spinlock_t xdp_tx_lock; + /* Synchronize simultaneous xdp_xmit on same ring or for MPC ring */ + spinlock_t tx_lock; }; #define BNXT_LEGACY_COAL_CMPL_PARAMS \ diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c index 9e5009be8e98..2a94a77847fe 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c @@ -351,7 +351,7 @@ int bnxt_xdp_xmit(struct net_device *dev, int num_frames, return -EINVAL; if (static_branch_unlikely(&bnxt_xdp_locking_key)) - spin_lock(&txr->xdp_tx_lock); + spin_lock(&txr->tx_lock); for (i = 0; i < num_frames; i++) { struct xdp_frame *xdp = frames[i]; @@ -376,7 +376,7 @@ int bnxt_xdp_xmit(struct net_device *dev, int num_frames, } if (static_branch_unlikely(&bnxt_xdp_locking_key)) - spin_unlock(&txr->xdp_tx_lock); + spin_unlock(&txr->tx_lock); return nxmit; } -- 2.51.0