ibmvnic: Fix failover error path for non-fatal resets
For all non-fatal reset conditions, the hypervisor will send a failover when we attempt to initialize the crq and the vnic client is expected to handle that failover instead of the existing non-fatal reset. To handle this, we need to return from init with a return code that indicates that we have hit this case. Signed-off-by: John Allen <jallen@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c26eba03e4
commit
2a1bf51111
@ -1507,7 +1507,7 @@ static int do_reset(struct ibmvnic_adapter *adapter,
|
||||
|
||||
rc = ibmvnic_init(adapter);
|
||||
if (rc)
|
||||
return 0;
|
||||
return IBMVNIC_INIT_FAILED;
|
||||
|
||||
/* If the adapter was in PROBE state prior to the reset,
|
||||
* exit here.
|
||||
@ -1610,7 +1610,7 @@ static void __ibmvnic_reset(struct work_struct *work)
|
||||
while (rwi) {
|
||||
rc = do_reset(adapter, rwi, reset_state);
|
||||
kfree(rwi);
|
||||
if (rc)
|
||||
if (rc && rc != IBMVNIC_INIT_FAILED)
|
||||
break;
|
||||
|
||||
rwi = get_next_rwi(adapter);
|
||||
|
@ -30,6 +30,8 @@
|
||||
#define IBMVNIC_DRIVER_VERSION "1.0.1"
|
||||
#define IBMVNIC_INVALID_MAP -1
|
||||
#define IBMVNIC_STATS_TIMEOUT 1
|
||||
#define IBMVNIC_INIT_FAILED 2
|
||||
|
||||
/* basic structures plus 100 2k buffers */
|
||||
#define IBMVNIC_IO_ENTITLEMENT_DEFAULT 610305
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user