Commit d6b6d987 authored by Sathya Perla's avatar Sathya Perla Committed by David S. Miller

be2net: use PCIe AER capability

This patch allows code to handle the PCIe AER capability.
The PCI callbacks for error handling/reset/recovery already exist in be2net
and have been tested with EEH/ppc.
This patch has been tested using the aer-inject tool.
Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 23d3b8bf
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "be.h" #include "be.h"
#include "be_cmds.h" #include "be_cmds.h"
#include <asm/div64.h> #include <asm/div64.h>
#include <linux/aer.h>
MODULE_VERSION(DRV_VER); MODULE_VERSION(DRV_VER);
MODULE_DEVICE_TABLE(pci, be_dev_ids); MODULE_DEVICE_TABLE(pci, be_dev_ids);
...@@ -3551,6 +3552,8 @@ static void __devexit be_remove(struct pci_dev *pdev) ...@@ -3551,6 +3552,8 @@ static void __devexit be_remove(struct pci_dev *pdev)
be_ctrl_cleanup(adapter); be_ctrl_cleanup(adapter);
pci_disable_pcie_error_reporting(pdev);
pci_set_drvdata(pdev, NULL); pci_set_drvdata(pdev, NULL);
pci_release_regions(pdev); pci_release_regions(pdev);
pci_disable_device(pdev); pci_disable_device(pdev);
...@@ -3846,6 +3849,10 @@ static int __devinit be_probe(struct pci_dev *pdev, ...@@ -3846,6 +3849,10 @@ static int __devinit be_probe(struct pci_dev *pdev,
} }
} }
status = pci_enable_pcie_error_reporting(pdev);
if (status)
dev_err(&pdev->dev, "Could not use PCIe error reporting\n");
status = be_ctrl_init(adapter); status = be_ctrl_init(adapter);
if (status) if (status)
goto free_netdev; goto free_netdev;
...@@ -4068,6 +4075,7 @@ static pci_ers_result_t be_eeh_reset(struct pci_dev *pdev) ...@@ -4068,6 +4075,7 @@ static pci_ers_result_t be_eeh_reset(struct pci_dev *pdev)
if (status) if (status)
return PCI_ERS_RESULT_DISCONNECT; return PCI_ERS_RESULT_DISCONNECT;
pci_cleanup_aer_uncorrect_error_status(pdev);
return PCI_ERS_RESULT_RECOVERED; return PCI_ERS_RESULT_RECOVERED;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment