[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <D8B915A0-CCBE-4F45-A59C-E6536355F3DC@linux.vnet.ibm.com>
Date: Tue, 6 Apr 2021 01:46:24 -0500
From: Lijun Pan <ljp@...ux.vnet.ibm.com>
To: netdev@...r.kernel.org
Cc: David Miller <davem@...emloft.net>,
Dany Madden <drt@...ux.ibm.com>,
Rick Lindsley <ricklind@...ux.ibm.com>,
Sukadev Bhattiprolu <sukadev@...ux.ibm.com>
Subject: Re: [PATCH] ibmvnic: Continue with reset if set link down failed
> On Apr 5, 2021, at 10:47 PM, Dany Madden <drt@...ux.ibm.com> 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 <drt@...ux.ibm.com>
> ---
> 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
>
Powered by blists - more mailing lists