]> git.baikalelectronics.ru Git - kernel.git/commit
net: ipa: count actual work done in gsi_channel_poll()
authorAlex Elder <elder@linaro.org>
Thu, 21 Jan 2021 11:48:17 +0000 (05:48 -0600)
committerJakub Kicinski <kuba@kernel.org>
Sat, 23 Jan 2021 21:15:59 +0000 (13:15 -0800)
commitae8cc3d83aff17b1381628b619c86b5390b87236
tree693de1f7fcb01e291d3848493b5e3f205fa6a377
parente9deaa8b86b77790d568b3c0dd39507cc5781ecd
net: ipa: count actual work done in gsi_channel_poll()

There is an off-by-one problem in gsi_channel_poll().  The count of
transactions completed is incremented each time through the loop
*before* determining whether there is any more work to do.  As a
result, if we exit the loop early the counter its value is one more
than the number of transactions actually processed.

Instead, increment the count after processing, to ensure it reflects
the number of processed transactions.  The result is more naturally
described as a for loop rather than a while loop, so change that.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipa/gsi.c