Skip to content

Commit 1c0a49c

Browse files
ffainelligregkh
authored andcommitted
net: bcmasp: Restore programming of TX map vector register
commit 18ff09c upstream. On ASP versions v2.x we need to program the TX map vector register to properly exercise end-to-end flow control, otherwise the TX engine can either lock-up, or cause the hardware calculated checksum to be wrong/corrupted when multiple back to back packets are being submitted for transmission. This register defaults to 0, which means no flow control being applied. Fixes: e9f3143 ("net: bcmasp: Add support for asp-v3.0") Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://patch.msgid.link/20250718212242.3447751-1-florian.fainelli@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent d94f9b0 commit 1c0a49c

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,9 @@ static void bcmasp_init_tx(struct bcmasp_intf *intf)
815815
/* Tx SPB */
816816
tx_spb_ctrl_wl(intf, ((intf->channel + 8) << TX_SPB_CTRL_XF_BID_SHIFT),
817817
TX_SPB_CTRL_XF_CTRL2);
818+
819+
if (intf->parent->tx_chan_offset)
820+
tx_pause_ctrl_wl(intf, (1 << (intf->channel + 8)), TX_PAUSE_MAP_VECTOR);
818821
tx_spb_top_wl(intf, 0x1e, TX_SPB_TOP_BLKOUT);
819822

820823
tx_spb_dma_wq(intf, intf->tx_spb_dma_addr, TX_SPB_DMA_READ);

0 commit comments

Comments
 (0)