]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
ibmvnic: Fix rx queue cleanup for non-fatal resets
authorJohn Allen <jallen@linux.vnet.ibm.com>
Tue, 27 Feb 2018 15:12:04 +0000 (12:12 -0300)
committerSeth Forshee <seth.forshee@canonical.com>
Tue, 27 Feb 2018 15:21:13 +0000 (09:21 -0600)
BugLink: https://bugs.launchpad.net/bugs/1748517
At some point, a check was added to exit the polling routine during resets.
This makes sense for most reset conditions, but for a non-fatal error, we
expect the polling routine to continue running to properly clean up the rx
queues. This patch checks if we are performing a non-fatal reset and if we
are, continues normal polling operation.

Signed-off-by: John Allen <jallen@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 3468656fd7599b0cb1092bb1ee717d1a984e93ee)
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/net/ethernet/ibm/ibmvnic.c

index 783ceb96e44134ef3517ab38fd0983ce7644b4a5..d1a8f55a732995ff9ab881abed851492d2054ceb 100644 (file)
@@ -1831,7 +1831,8 @@ restart_poll:
                u16 offset;
                u8 flags = 0;
 
-               if (unlikely(adapter->resetting)) {
+               if (unlikely(adapter->resetting &&
+                            adapter->reset_reason != VNIC_RESET_NON_FATAL)) {
                        enable_scrq_irq(adapter, adapter->rx_scrq[scrq_num]);
                        napi_complete_done(napi, frames_processed);
                        return frames_processed;