From: Dany Madden <drt@linux.ibm.com>
To: netdev@vger.kernel.org
Cc: ljp@linux.ibm.com, sukadev@linux.ibm.com,
linuxppc-dev@lists.ozlabs.org, Dany Madden <drt@linux.ibm.com>
Subject: [PATCH net v3 2/9] ibmvnic: stop free_all_rwi on failed reset
Date: Wed, 25 Nov 2020 18:04:25 -0600 [thread overview]
Message-ID: <20201126000432.29897-3-drt@linux.ibm.com> (raw)
In-Reply-To: <20201126000432.29897-1-drt@linux.ibm.com>
When ibmvnic fails to reset, it breaks out of the reset loop and frees
all of the remaining resets from the workqueue. Doing so prevents the
adapter from recovering if no reset is scheduled after that. Instead,
have the driver continue to process resets on the workqueue.
Remove the no longer need free_all_rwi().
Fixes: ed651a10875f1 ("ibmvnic: Updated reset handling")
Signed-off-by: Dany Madden <drt@linux.ibm.com>
---
drivers/net/ethernet/ibm/ibmvnic.c | 22 +++-------------------
1 file changed, 3 insertions(+), 19 deletions(-)
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index dcb23015b6b4..d5a927bb4954 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -2173,17 +2173,6 @@ static struct ibmvnic_rwi *get_next_rwi(struct ibmvnic_adapter *adapter)
return rwi;
}
-static void free_all_rwi(struct ibmvnic_adapter *adapter)
-{
- struct ibmvnic_rwi *rwi;
-
- rwi = get_next_rwi(adapter);
- while (rwi) {
- kfree(rwi);
- rwi = get_next_rwi(adapter);
- }
-}
-
static void __ibmvnic_reset(struct work_struct *work)
{
struct ibmvnic_rwi *rwi;
@@ -2253,9 +2242,9 @@ static void __ibmvnic_reset(struct work_struct *work)
else
adapter->state = reset_state;
rc = 0;
- } else if (rc && rc != IBMVNIC_INIT_FAILED &&
- !adapter->force_reset_recovery)
- break;
+ }
+ if (rc)
+ netdev_dbg(adapter->netdev, "Reset failed, rc=%d\n", rc);
rwi = get_next_rwi(adapter);
@@ -2269,11 +2258,6 @@ static void __ibmvnic_reset(struct work_struct *work)
complete(&adapter->reset_done);
}
- if (rc) {
- netdev_dbg(adapter->netdev, "Reset failed\n");
- free_all_rwi(adapter);
- }
-
clear_bit_unlock(0, &adapter->resetting);
}
--
2.26.2
next prev parent reply other threads:[~2020-11-26 0:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-26 0:04 [PATCH net v3 0/9] ibmvnic: assorted bug fixes Dany Madden
2020-11-26 0:04 ` [PATCH net v3 1/9] ibmvnic: handle inconsistent login with reset Dany Madden
2020-11-26 0:04 ` Dany Madden [this message]
2020-11-26 0:04 ` [PATCH net v3 3/9] ibmvnic: avoid memset null scrq msgs Dany Madden
2020-11-26 0:04 ` [PATCH net v3 4/9] ibmvnic: restore adapter state on failed reset Dany Madden
2020-11-26 0:04 ` [PATCH net v3 5/9] ibmvnic: delay next reset if hard reset fails Dany Madden
2020-11-26 0:04 ` [PATCH net v3 6/9] ibmvnic: track pending login Dany Madden
2020-11-26 0:04 ` [PATCH net v3 7/9] ibmvnic: send_login should check for crq errors Dany Madden
2020-11-26 0:04 ` [PATCH net v3 8/9] ibmvnic: no reset timeout for 5 seconds after reset Dany Madden
2020-11-26 0:04 ` [PATCH net v3 9/9] ibmvnic: reduce wait for completion time Dany Madden
2020-11-28 21:32 ` [PATCH net v3 0/9] ibmvnic: assorted bug fixes Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201126000432.29897-3-drt@linux.ibm.com \
--to=drt@linux.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=ljp@linux.ibm.com \
--cc=netdev@vger.kernel.org \
--cc=sukadev@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).