[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220411181921.245ba3e6@kernel.org>
Date: Mon, 11 Apr 2022 18:19:21 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Tomas Melin <tomas.melin@...sala.com>
Cc: netdev@...r.kernel.org, nicolas.ferre@...rochip.com,
claudiu.beznea@...rochip.com, davem@...emloft.net,
pabeni@...hat.com
Subject: Re: [PATCH v2] net: macb: Restart tx only if queue pointer is
lagging
On Thu, 7 Apr 2022 19:16:59 +0300 Tomas Melin wrote:
> commit 4298388574da ("net: macb: restart tx after tx used bit read")
> added support for restarting transmission. Restarting tx does not work
> in case controller asserts TXUBR interrupt and TQBP is already at the end
> of the tx queue. In that situation, restarting tx will immediately cause
> assertion of another TXUBR interrupt. The driver will end up in an infinite
> interrupt loop which it cannot break out of.
>
> For cases where TQBP is at the end of the tx queue, instead
> only clear TX_USED interrupt. As more data gets pushed to the queue,
> transmission will resume.
>
> This issue was observed on a Xilinx Zynq-7000 based board.
> During stress test of the network interface,
> driver would get stuck on interrupt loop within seconds or minutes
> causing CPU to stall.
>
> Signed-off-by: Tomas Melin <tomas.melin@...sala.com>
Applied, thanks. Commit 5ad7f18cd82c ("net: macb: Restart tx only if
queue pointer is lagging") in net.
Powered by blists - more mailing lists