| From d3a6abccbd272aea7dc2c6f984bb5a2c11278e44 Mon Sep 17 00:00:00 2001 |
| From: Lijun Pan <lijunp213@gmail.com> |
| Date: Wed, 14 Apr 2021 02:46:15 -0500 |
| Subject: ibmvnic: remove duplicate napi_schedule call in do_reset function |
| |
| From: Lijun Pan <lijunp213@gmail.com> |
| |
| 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> |
| --- |
| drivers/net/ethernet/ibm/ibmvnic.c | 6 +----- |
| 1 file changed, 1 insertion(+), 5 deletions(-) |
| |
| --- a/drivers/net/ethernet/ibm/ibmvnic.c |
| +++ b/drivers/net/ethernet/ibm/ibmvnic.c |
| @@ -1941,7 +1941,7 @@ static int do_reset(struct ibmvnic_adapt |
| 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_adapt |
| /* 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); |