From: Jacob Keller <jacob.e.keller@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH v2] fm10k: don't continue probe if PCI device not in normal IO state
Date: Thu, 23 Jun 2016 13:31:01 -0700 [thread overview]
Message-ID: <20160623203103.30528-2-jacob.e.keller@intel.com> (raw)
In-Reply-To: <20160623203103.30528-1-jacob.e.keller@intel.com>
In the event of an uncorrectable AER error occuring when the driver has
not loaded, the recovery routines are not done. This is done because
future loads of the driver may not be aware of the IO state and may not
be able to recover at all. In this case, when we next load the driver it
fails due to what appears to be a surprise remove event. Instead, add
a check to ensure that the device is in the normal IO state before
continuing to probe. This allows us to give a more descriptive message
of what is wrong.
Without this change, the driver will attempt to probe up to our first
call of .reset_hw() which will be unable to read registers and act as if
a surprise remove event occurred.
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
---
drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
index 552268292ac8..0293eed5005b 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
@@ -1950,6 +1950,12 @@ static int fm10k_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
struct fm10k_intfc *interface;
int err;
+ if (pdev->error_state != pci_channel_io_normal) {
+ dev_err(&pdev->dev,
+ "PCI device still in an error state. Unable to load...\n");
+ return -EIO;
+ }
+
err = pci_enable_device_mem(pdev);
if (err) {
dev_err(&pdev->dev,
--
2.9.0.rc1.405.g81f467e
next prev parent reply other threads:[~2016-06-23 20:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-23 20:31 [Intel-wired-lan] [PATCH v2] fm10k: print error code when pci_enable_device_mem fails during probe Jacob Keller
2016-06-23 20:31 ` Jacob Keller [this message]
2016-08-24 23:01 ` [Intel-wired-lan] [PATCH v2] fm10k: don't continue probe if PCI device not in normal IO state Singh, Krishneil K
2016-06-23 20:31 ` [Intel-wired-lan] [PATCH v2] fm10k: print error code when pci_enable_device_mem fails during probe Jacob Keller
2016-06-23 20:31 ` [Intel-wired-lan] [PATCH v2] fm10k: don't continue probe if PCI device not in normal IO state Jacob Keller
2016-08-22 22:18 ` Singh, Krishneil K
2016-08-22 22:17 ` [Intel-wired-lan] [PATCH v2] fm10k: print error code when pci_enable_device_mem fails during probe Singh, Krishneil K
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=20160623203103.30528-2-jacob.e.keller@intel.com \
--to=jacob.e.keller@intel.com \
--cc=intel-wired-lan@osuosl.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.