diff options
author | Magnus Karlsson <magnus.karlsson@intel.com> | 2021-02-05 12:09:04 +0300 |
---|---|---|
committer | Tony Nguyen <anthony.l.nguyen@intel.com> | 2021-03-12 18:43:46 +0300 |
commit | ed0907e3bdcfc7fe1c1756a480451e757b207a69 (patch) | |
tree | 0f23e16ed01297d6abb6226ffe349670b89e1be4 /drivers/net/ethernet/emulex | |
parent | 7a1468ba0e02eee24ae1353e8933793a27198e20 (diff) | |
download | linux-ed0907e3bdcfc7fe1c1756a480451e757b207a69.tar.xz |
ice: fix napi work done reporting in xsk path
Fix the wrong napi work done reporting in the xsk path of the ice
driver. The code in the main Rx processing loop was written to assume
that the buffer allocation code returns true if all allocations where
successful and false if not. In contrast with all other Intel NIC xsk
drivers, the ice_alloc_rx_bufs_zc() has the inverted logic messing up
the work done reporting in the napi loop.
This can be fixed either by inverting the return value from
ice_alloc_rx_bufs_zc() in the function that uses this in an incorrect
way, or by changing the return value of ice_alloc_rx_bufs_zc(). We
chose the latter as it makes all the xsk allocation functions for
Intel NICs behave in the same way. My guess is that it was this
unexpected discrepancy that gave rise to this bug in the first place.
Fixes: 5bb0c4b5eb61 ("ice, xsk: Move Rx allocation out of while-loop")
Reported-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Tested-by: Kiran Bhandare <kiranx.bhandare@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Diffstat (limited to 'drivers/net/ethernet/emulex')
0 files changed, 0 insertions, 0 deletions