ibmvnic: Introduce hard reset recovery
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Wed, 23 May 2018 18:38:02 +0000 (13:38 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 May 2018 02:19:26 +0000 (22:19 -0400)
commit2770a7984db588913e11a6dfcfe3461dbba9b7b2
tree82c1983fa92ac5f26aeeefa6b1e34aea1fb901f8
parent06e43d7f9fe536621091ca5b87dc6b8498898226
ibmvnic: Introduce hard reset recovery

Introduce a recovery hard reset to handle reset failure as a result of
change of device context following a transport event, such as a
backing device failover or partition migration. These operations reset
the device context to its initial state. If this occurs during a reset,
any initialization commands are likely to fail with an invalid state
error as backing device firmware requests reinitialization.

When this happens, make one more attempt by performing a hard reset,
which frees any resources currently allocated and performs device
initialization. If a transport event occurs during a device reset, a
flag is set which will trigger a new hard reset following the
completionof the current reset event.

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