From: John Allen Date: Tue, 6 Feb 2018 22:21:49 +0000 (-0600) Subject: ibmvnic: Fix rx queue cleanup for non-fatal resets X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3468656fd7599b0cb1092bb1ee717d1a984e93ee;p=openwrt%2Fstaging%2Fblogic.git ibmvnic: Fix rx queue cleanup for non-fatal resets 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 Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index afaf29b201dc..8dc8fc503750 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -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;