Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a1bf511 authored by John Allen's avatar John Allen Committed by David S. Miller
Browse files

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: default avatarJohn Allen <jallen@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c26eba03
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+2 −0
Original line number Diff line number Diff line
@@ -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