diff options
author | Thomas Falcon <tlfalcon@linux.ibm.com> | 2020-12-01 18:52:11 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-12-01 21:09:04 +0300 |
commit | ba246c175116e2e8fa4fdfa5f8e958e086a9a818 (patch) | |
tree | 1a48c879de813308d0a1ce6f566f86b2ebfa28dc /drivers | |
parent | b71ec952234610b4f90ef17a2fdcb124d5320070 (diff) | |
download | linux-ba246c175116e2e8fa4fdfa5f8e958e086a9a818.tar.xz |
ibmvnic: Fix TX completion error handling
TX completions received with an error return code are not
being processed properly. When an error code is seen, do not
proceed to the next completion before cleaning up the existing
entry's data structures.
Fixes: 032c5e82847a ("Driver for IBM System i/p VNIC protocol")
Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/ibm/ibmvnic.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 0e34c36c3e86..da9450f18717 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -3128,11 +3128,9 @@ restart_loop: next = ibmvnic_next_scrq(adapter, scrq); for (i = 0; i < next->tx_comp.num_comps; i++) { - if (next->tx_comp.rcs[i]) { + if (next->tx_comp.rcs[i]) dev_err(dev, "tx error %x\n", next->tx_comp.rcs[i]); - continue; - } index = be32_to_cpu(next->tx_comp.correlators[i]); if (index & IBMVNIC_TSO_POOL_MASK) { tx_pool = &adapter->tso_pool[pool]; |