[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d624692a-83d8-a74a-b9bd-d9cff79f362d@linux.intel.com>
Date: Tue, 22 Jan 2019 11:20:57 -0600
From: Thor Thayer <thor.thayer@...ux.intel.com>
To: Atsushi Nemoto <atsushi.nemoto@...d.co.jp>, netdev@...r.kernel.org
Cc: Tomonori Sakita <tomonori.sakita@...d.co.jp>,
Dalon Westergreen <dalon.westergreen@...el.com>
Subject: Re: [PATCH] net: altera_tse: fix msgdma_tx_completion on non-zero
fill_level case
On 1/21/19 2:29 AM, Atsushi Nemoto wrote:
> From: Tomonori Sakita <tomonori.sakita@...d.co.jp>
>
> If fill_level was not zero and status was not BUSY,
> result of "tx_prod - tx_cons - inuse" might be zero.
> Subtracting 1 unconditionally results invalid negative return value
> on this case.
> The subtraction is not needed if fill_level was not zero.
>
> Signed-off-by: Tomonori Sakita <tomonori.sakita@...d.co.jp>
> Signed-off-by: Atsushi Nemoto <atsushi.nemoto@...d.co.jp>
> ---
> drivers/net/ethernet/altera/altera_msgdma.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/altera/altera_msgdma.c b/drivers/net/ethernet/altera/altera_msgdma.c
> index 0fb986b..3df73d3 100644
> --- a/drivers/net/ethernet/altera/altera_msgdma.c
> +++ b/drivers/net/ethernet/altera/altera_msgdma.c
> @@ -145,7 +145,7 @@ u32 msgdma_tx_completions(struct altera_tse_private *priv)
> & 0xffff;
>
> if (inuse) { /* Tx FIFO is not empty */
> - ready = priv->tx_prod - priv->tx_cons - inuse - 1;
> + ready = priv->tx_prod - priv->tx_cons - inuse;
> } else {
> /* Check for buffered last packet */
> status = csrrd32(priv->tx_dma_csr, msgdma_csroffs(status));
>
I'm adding Dalon who has done a lot of work on msgdma. I'd like to get
his comments.
Thanks,
Thor
Powered by blists - more mailing lists