bnx2: Drop redundant pci_enable_pcie_error_reporting()
pci_enable_pcie_error_reporting() enables the device to send ERR_* Messages. Sincef26e58bf6f("PCI/AER: Enable error reporting when AER is native"), the PCI core does this for all devices during enumeration, so the driver doesn't need to do it itself. Remove the redundant pci_enable_pcie_error_reporting() call from the driver. Also remove the corresponding pci_disable_pcie_error_reporting() from the driver .remove() path. Note that this only controls ERR_* Messages from the device. An ERR_* Message may cause the Root Port to generate an interrupt, depending on the AER Root Error Command register managed by the AER service driver.cd709aa906("bnx2: Add PCI Advanced Error Reporting support.") added pci_enable_pcie_error_reporting() for all devices, andc239f279e5("bnx2: Enable AER on PCIE devices only") restricted it to BNX2_CHIP_5709 devices to avoid an error message when it failed on non-PCIe devices. The PCI core only enables PCIe error reporting on PCIe devices, which I assume means BNX2_CHIP_5709. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Rasesh Mody <rmody@marvell.com> Cc: GR-Linux-NIC-Dev@marvell.com Reviewed-by: Michael Chan <michael.chan@broadcom.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
b4e24578b4
commit
5f00358b5e
@@ -48,7 +48,6 @@
|
||||
#include <linux/cache.h>
|
||||
#include <linux/firmware.h>
|
||||
#include <linux/log2.h>
|
||||
#include <linux/aer.h>
|
||||
#include <linux/crash_dump.h>
|
||||
|
||||
#if IS_ENABLED(CONFIG_CNIC)
|
||||
@@ -8093,7 +8092,6 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
|
||||
int rc, i, j;
|
||||
u32 reg;
|
||||
u64 dma_mask, persist_dma_mask;
|
||||
int err;
|
||||
|
||||
SET_NETDEV_DEV(dev, &pdev->dev);
|
||||
bp = netdev_priv(dev);
|
||||
@@ -8176,12 +8174,6 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
|
||||
bp->flags |= BNX2_FLAG_PCIE;
|
||||
if (BNX2_CHIP_REV(bp) == BNX2_CHIP_REV_Ax)
|
||||
bp->flags |= BNX2_FLAG_JUMBO_BROKEN;
|
||||
|
||||
/* AER (Advanced Error Reporting) hooks */
|
||||
err = pci_enable_pcie_error_reporting(pdev);
|
||||
if (!err)
|
||||
bp->flags |= BNX2_FLAG_AER_ENABLED;
|
||||
|
||||
} else {
|
||||
bp->pcix_cap = pci_find_capability(pdev, PCI_CAP_ID_PCIX);
|
||||
if (bp->pcix_cap == 0) {
|
||||
@@ -8460,11 +8452,6 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev)
|
||||
return 0;
|
||||
|
||||
err_out_unmap:
|
||||
if (bp->flags & BNX2_FLAG_AER_ENABLED) {
|
||||
pci_disable_pcie_error_reporting(pdev);
|
||||
bp->flags &= ~BNX2_FLAG_AER_ENABLED;
|
||||
}
|
||||
|
||||
pci_iounmap(pdev, bp->regview);
|
||||
bp->regview = NULL;
|
||||
|
||||
@@ -8638,11 +8625,6 @@ bnx2_remove_one(struct pci_dev *pdev)
|
||||
bnx2_free_stats_blk(dev);
|
||||
kfree(bp->temp_stats_blk);
|
||||
|
||||
if (bp->flags & BNX2_FLAG_AER_ENABLED) {
|
||||
pci_disable_pcie_error_reporting(pdev);
|
||||
bp->flags &= ~BNX2_FLAG_AER_ENABLED;
|
||||
}
|
||||
|
||||
bnx2_release_firmware(bp);
|
||||
|
||||
free_netdev(dev);
|
||||
@@ -8766,9 +8748,6 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev)
|
||||
}
|
||||
rtnl_unlock();
|
||||
|
||||
if (!(bp->flags & BNX2_FLAG_AER_ENABLED))
|
||||
return result;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -6808,7 +6808,6 @@ struct bnx2 {
|
||||
#define BNX2_FLAG_JUMBO_BROKEN 0x00000800
|
||||
#define BNX2_FLAG_CAN_KEEP_VLAN 0x00001000
|
||||
#define BNX2_FLAG_BROKEN_STATS 0x00002000
|
||||
#define BNX2_FLAG_AER_ENABLED 0x00004000
|
||||
|
||||
struct bnx2_napi bnx2_napi[BNX2_MAX_MSIX_VEC];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user