liquidio: fix race condition in instruction completion processing
authorRick Farrington <ricardo.farrington@cavium.com>
Tue, 28 Aug 2018 18:32:55 +0000 (11:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Aug 2018 02:47:52 +0000 (19:47 -0700)
commitb943f17e06493fd2c7fd00743093ad5dcdb90e7f
treec11e87c4f0720b3b86a99c01a19b24b58f162606
parent9ecc660ea1a7a5cebf403fb74ad363400d645463
liquidio: fix race condition in instruction completion processing

In lio_enable_irq, the pkt_in_done count register was being cleared to
zero.  However, there could be some completed instructions which were not
yet processed due to budget and limit constraints.
So, only write this register with the number of actual completions
that were processed.

Signed-off-by: Rick Farrington <ricardo.farrington@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/octeon_device.c
drivers/net/ethernet/cavium/liquidio/octeon_iq.h
drivers/net/ethernet/cavium/liquidio/request_manager.c