ibmvnic: Fix failover case for non-redundant configuration
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Fri, 6 Apr 2018 23:37:05 +0000 (18:37 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 8 Apr 2018 16:39:47 +0000 (12:39 -0400)
commit5a18e1e0c193b2f6a8d4651f38aaabee58080647
tree292e792573c11be8cc6a4fef9b2b5dddb11695da
parentaf894d239840908dfebb2215e13a713e63d2ffb0
ibmvnic: Fix failover case for non-redundant configuration

There is a failover case for a non-redundant pseries VNIC
configuration that was not being handled properly. The current
implementation assumes that the driver will always have a redandant
device to communicate with following a failover notification. There
are cases, however, when a non-redundant configuration can receive
a failover request. If that happens, the driver should wait until
it receives a signal that the device is ready for operation.

The driver is agnostic of its backing hardware configuration,
so this fix necessarily affects all device failover management.
The driver needs to wait until it receives a signal that the device
is ready for resetting. A flag is introduced to track this intermediary
state where the driver is waiting for an active device.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c
drivers/net/ethernet/ibm/ibmvnic.h