[][kernel][common][eth][Fix panic issue for the RX ring debug command]
[Description]
Fix panic issue for the RX ring debug command.
Without this patch, the rx_ring command might cause a panic issue when
LRO is not enabled.
[Release-log]
N/A
Change-Id: I2039fa2cda37df3e75b024ab94665658c9d0eb2c
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/8460550
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
index 487fbd1..bfe2f0d 100755
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_dbg.c
@@ -925,12 +925,14 @@
struct mtk_rx_dma_v2 *rx_ring;
int i = 0, j = 0;
- for (j = 0; j < MTK_RX_NAPI_NUM; j++) {
+ for (j = 0; j < MTK_MAX_RX_RING_NUM; j++) {
ring = &g_eth->rx_ring[j];
+ if (!ring->dma)
+ continue;
seq_printf(seq, "[Ring%d] next to read: %d\n", j,
NEXT_DESP_IDX(ring->calc_idx, MTK_DMA_SIZE));
- for (i = 0; i < MTK_DMA_SIZE; i++) {
+ for (i = 0; i < ring->dma_size; i++) {
rx_ring = ring->dma + i * eth->soc->txrx.rxd_size;
seq_printf(seq, "%d: %08x %08x %08x %08x", i,