commit | b9463010635cd9ff68990fd62e64296228ce3fe4 | [log] [tgz] |
---|---|---|
author | developer <developer@mediatek.com> | Wed Sep 14 10:28:45 2022 +0800 |
committer | developer <developer@mediatek.com> | Wed Sep 14 16:05:28 2022 +0800 |
tree | ceb0fa7cce0767cb175d659fe949927da77c67be | |
parent | 203096ac3c14356db1523833e5f0af1969793c29 [diff] |
[][kernel][common][eth][Fix mtk_tx_set_dma_desc hang issue] [Description] Fix mtk_tx_set_dma_desc hang issue. If without this patch, driver may configure incorrect QID to TXD4. [Release-log] N/A Change-Id: I74a8932d45bd5d9c2c463a8cc5c2aa3d17e48b83 Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6513031
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c index 6955aad..a05cd19 100755 --- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1051,10 +1051,9 @@ struct mtk_eth *eth = mac->hw; struct mtk_tx_dma_v2 *desc = txd; u32 data = 0; - u16 qid; if(!info->qid && mac->id) - qid = MTK_QDMA_GMAC2_QID; + info->qid = MTK_QDMA_GMAC2_QID; WRITE_ONCE(desc->txd1, info->addr); @@ -1064,7 +1063,7 @@ WRITE_ONCE(desc->txd3, data); data = (mac->id + 1) << TX_DMA_FPORT_SHIFT_V2; /* forward port */ - data |= TX_DMA_SWC_V2 | QID_BITS_V2(qid); + data |= TX_DMA_SWC_V2 | QID_BITS_V2(info->qid); #if defined(CONFIG_NET_MEDIATEK_HNAT) || defined(CONFIG_NET_MEDIATEK_HNAT_MODULE) if (HNAT_SKB_CB2(skb)->magic == 0x78681415) { data &= ~(0xf << TX_DMA_FPORT_SHIFT_V2);