Re: [PATCH] ibmvnic: Continue with reset if set link down failed
From: Lijun Pan <hidden>
Date: 2021-04-06 06:46:36
quoted hunk ↗ jump to hunk
On Apr 5, 2021, at 10:47 PM, Dany Madden [off-list ref] wrote: When an adapter is going thru a reset, it maybe in an unstable state that makes a request to set link down fail. In such a case, the adapter needs to continue on with reset to bring itself back to a stable state. Fixes: ed651a10875f ("ibmvnic: Updated reset handling") Signed-off-by: Dany Madden <redacted> --- drivers/net/ethernet/ibm/ibmvnic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 9c6438d3b3a5..e4f01a7099a0 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c@@ -1976,8 +1976,10 @@ static int do_reset(struct ibmvnic_adapter *adapter,rtnl_unlock(); rc = set_link_state(adapter, IBMVNIC_LOGICAL_LNK_DN); rtnl_lock(); - if (rc) - goto out; + if (rc) { + netdev_dbg(netdev, + "Setting link down failed rc=%d. Continue anyway\n", rc); + }
What’s the point of checking the return code if it can be neglected anyway? If we really don’t care if set_link_state succeeds or not, we don’t even need to call set_link_state() here. It seems more correct to me that we find out why set_link_state fails and fix it from that end. Lijun
if (adapter->state == VNIC_OPEN) {
/* When we dropped rtnl, ibmvnic_open() got
--
2.26.2