]> git.itanic.dy.fi Git - linux-stable/commit
net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case
authorTomonori Sakita <tomonori.sakita@sord.co.jp>
Fri, 25 Jan 2019 02:02:22 +0000 (11:02 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Mar 2019 21:04:56 +0000 (14:04 -0700)
commitcdf3d54517b5afda3a85ed737917ab1a820f5c9a
tree32086fffc14f6495378d6248e7ded2773e4b5a6a
parent7d1ef64ecaf077b683e5f86a2cd76000829a2f90
net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case

[ Upstream commit 6571ebce112a21ec9be68ef2f53b96fcd41fd81b ]

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.
Make sure not to return an negative value.

Signed-off-by: Tomonori Sakita <tomonori.sakita@sord.co.jp>
Signed-off-by: Atsushi Nemoto <atsushi.nemoto@sord.co.jp>
Reviewed-by: Dalon L Westergreen <dalon.westergreen@linux.intel.com>
Acked-by: Thor Thayer <thor.thayer@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/altera/altera_msgdma.c