aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLijun Pan <lijunp213@gmail.com>2021-04-14 02:46:15 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-04-21 13:00:58 +0200
commit008885a880dc212af351894b010f714f252da00b (patch)
tree5d3131e816f2a14e546535903102b9d83ce2f6d9
parent685bc730e3a9c89532cbeb452756177eebdc07eb (diff)
downloadkernel_replicant_linux-008885a880dc212af351894b010f714f252da00b.tar.gz
kernel_replicant_linux-008885a880dc212af351894b010f714f252da00b.tar.bz2
kernel_replicant_linux-008885a880dc212af351894b010f714f252da00b.zip
ibmvnic: remove duplicate napi_schedule call in do_reset function
commit d3a6abccbd272aea7dc2c6f984bb5a2c11278e44 upstream. During adapter reset, do_reset/do_hard_reset calls ibmvnic_open(), which will calls napi_schedule if previous state is VNIC_CLOSED (i.e, the reset case, and "ifconfig down" case). So there is no need for do_reset to call napi_schedule again at the end of the function though napi_schedule will neglect the request if napi is already scheduled. Fixes: ed651a10875f ("ibmvnic: Updated reset handling") Signed-off-by: Lijun Pan <lijunp213@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index e138e4bc3b06..765b38c8b252 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -1941,7 +1941,7 @@ static int do_reset(struct ibmvnic_adapter *adapter,
u64 old_num_rx_queues, old_num_tx_queues;
u64 old_num_rx_slots, old_num_tx_slots;
struct net_device *netdev = adapter->netdev;
- int i, rc;
+ int rc;
netdev_dbg(adapter->netdev,
"[S:%d FOP:%d] Reset reason %d, reset_state %d\n",
@@ -2087,10 +2087,6 @@ static int do_reset(struct ibmvnic_adapter *adapter,
/* refresh device's multicast list */
ibmvnic_set_multi(netdev);
- /* kick napi */
- for (i = 0; i < adapter->req_rx_queues; i++)
- napi_schedule(&adapter->napi[i]);
-
if (adapter->reset_reason == VNIC_RESET_FAILOVER ||
adapter->reset_reason == VNIC_RESET_MOBILITY) {
call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, netdev);