31afe04586
When we receive a packet from the xilinx_axienet and then try to s2mem through the xilinx_axidma, if the descriptor ring buffer is full in the xilinx axidma driver, we’ll assert the DMASR.HALTED in the function : stream_process_s2mem and return 0. In the end, we’ll be stuck in an infinite loop in axienet_eth_rx_notify. This patch checks the DMASR.HALTED state when we try to push data from xilinx axi-enet to xilinx axi-dma. When the DMASR.HALTED is asserted, we will not keep pushing the data and then prevent the infinte loop. Signed-off-by: Tommy Wu <tommy.wu@sifive.com> Reviewed-by: Edgar E. Iglesias <edgar@zeroasic.com> Reviewed-by: Frank Chang <frank.chang@sifive.com> Message-id: 20230519062137.1251741-1-tommy.wu@sifive.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org> |
||
---|---|---|
.. | ||
bcm2835_dma.c | ||
etraxfs_dma.c | ||
i8257.c | ||
i82374.c | ||
Kconfig | ||
meson.build | ||
omap_dma.c | ||
pl080.c | ||
pl330.c | ||
pxa2xx_dma.c | ||
rc4030.c | ||
sifive_pdma.c | ||
soc_dma.c | ||
sparc32_dma.c | ||
trace-events | ||
trace.h | ||
xilinx_axidma.c | ||
xlnx_csu_dma.c | ||
xlnx_dpdma.c | ||
xlnx-zdma.c | ||
xlnx-zynq-devcfg.c |