Skip to content

Commit

Permalink
be2net: use PCIe AER capability
Browse files Browse the repository at this point in the history
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: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sathya Perla authored and David S. Miller committed Sep 5, 2012
1 parent 23d3b8b commit d6b6d98
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/net/ethernet/emulex/benet/be_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "be.h"
#include "be_cmds.h"
#include <asm/div64.h>
#include <linux/aer.h>

MODULE_VERSION(DRV_VER);
MODULE_DEVICE_TABLE(pci, be_dev_ids);
Expand Down Expand Up @@ -3551,6 +3552,8 @@ static void __devexit be_remove(struct pci_dev *pdev)

be_ctrl_cleanup(adapter);

pci_disable_pcie_error_reporting(pdev);

pci_set_drvdata(pdev, NULL);
pci_release_regions(pdev);
pci_disable_device(pdev);
Expand Down Expand Up @@ -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);
if (status)
goto free_netdev;
Expand Down Expand Up @@ -4068,6 +4075,7 @@ static pci_ers_result_t be_eeh_reset(struct pci_dev *pdev)
if (status)
return PCI_ERS_RESULT_DISCONNECT;

pci_cleanup_aer_uncorrect_error_status(pdev);
return PCI_ERS_RESULT_RECOVERED;
}

Expand Down

0 comments on commit d6b6d98

Please sign in to comment.