Re: [PATCH,v2] Re: e1000e: why does pci_enable_pcie_error_reporting() fail on my hp2510p?

From: Jeff Kirsher
Date: Tue Sep 01 2009 - 21:19:01 EST


On Thu, Aug 20, 2009 at 23:48, Frans Pop<elendil@xxxxxxxxx> wrote:
> On Friday 21 August 2009, Danny Feng wrote:
>> You may also need to silence pci_disable_pcie_error_reporting,
>> otherwise rmmod/shutdown, you will get
>>
>> e1000e 0000:00:19.0: pci_disable_pcie_error_reporting failed
>
> Yes, thanks. Exactly the same thing there. Updated patch below.
>
>
> From: Frans Pop <elendil@xxxxxxxxx>
> Subject: net: Don't report an error if devices don't support AER
>
> The only error returned by pci_{en,dis}able_pcie_error_reporting() is
> -EIO which simply means that Advanced Error Reporting is not supported.
> There is no need to report that, so remove the error check from e1001e,
> igb and ixgbe.
>
> Signed-off-by: Frans Pop <elendil@xxxxxxxxx>
>
> diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
> index fa92a68..d67798f 100644
> --- a/drivers/net/e1000e/netdev.c
> +++ b/drivers/net/e1000e/netdev.c
> @@ -4983,12 +4983,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
> Â Â Â Â Â Â Â Âgoto err_pci_reg;
>
> Â Â Â Â/* AER (Advanced Error Reporting) hooks */
> - Â Â Â err = pci_enable_pcie_error_reporting(pdev);
> - Â Â Â if (err) {
> - Â Â Â Â Â Â Â dev_err(&pdev->dev, "pci_enable_pcie_error_reporting failed "
> - Â Â Â Â Â Â Â Â Â Â Â "0x%x\n", err);
> - Â Â Â Â Â Â Â /* non-fatal, continue */
> - Â Â Â }
> + Â Â Â pci_enable_pcie_error_reporting(pdev);
>
> Â Â Â Âpci_set_master(pdev);
> Â Â Â Â/* PCI config space info */
> @@ -5301,9 +5296,6 @@ static void __devexit e1000_remove(struct pci_dev *pdev)
>
> Â Â Â Â/* AER disable */
> Â Â Â Âerr = pci_disable_pcie_error_reporting(pdev);
> - Â Â Â if (err)
> - Â Â Â Â Â Â Â dev_err(&pdev->dev,
> - Â Â Â Â Â Â Â Â Â Â Â "pci_disable_pcie_error_reporting failed 0x%x\n", err);
>
> Â Â Â Âpci_disable_device(pdev);
> Â}
> diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
> index adb09d3..1533d6f 100644
> --- a/drivers/net/igb/igb_main.c
> +++ b/drivers/net/igb/igb_main.c
> @@ -1232,12 +1232,7 @@ static int __devinit igb_probe(struct pci_dev *pdev,
> Â Â Â Âif (err)
> Â Â Â Â Â Â Â Âgoto err_pci_reg;
>
> - Â Â Â err = pci_enable_pcie_error_reporting(pdev);
> - Â Â Â if (err) {
> - Â Â Â Â Â Â Â dev_err(&pdev->dev, "pci_enable_pcie_error_reporting failed "
> - Â Â Â Â Â Â Â Â Â Â Â "0x%x\n", err);
> - Â Â Â Â Â Â Â /* non-fatal, continue */
> - Â Â Â }
> + Â Â Â pci_enable_pcie_error_reporting(pdev);
>
> Â Â Â Âpci_set_master(pdev);
> Â Â Â Âpci_save_state(pdev);
> @@ -1668,9 +1663,6 @@ static void __devexit igb_remove(struct pci_dev *pdev)
> Â Â Â Âfree_netdev(netdev);
>
> Â Â Â Âerr = pci_disable_pcie_error_reporting(pdev);
> - Â Â Â if (err)
> - Â Â Â Â Â Â Â dev_err(&pdev->dev,
> - Â Â Â Â Â Â Â Â Â Â Â "pci_disable_pcie_error_reporting failed 0x%x\n", err);
>
> Â Â Â Âpci_disable_device(pdev);
> Â}
> diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
> index 77b0381..777556d 100644
> --- a/drivers/net/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ixgbe/ixgbe_main.c
> @@ -5430,12 +5430,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
> Â Â Â Â Â Â Â Âgoto err_pci_reg;
> Â Â Â Â}
>
> - Â Â Â err = pci_enable_pcie_error_reporting(pdev);
> - Â Â Â if (err) {
> - Â Â Â Â Â Â Â dev_err(&pdev->dev, "pci_enable_pcie_error_reporting failed "
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "0x%x\n", err);
> - Â Â Â Â Â Â Â /* non-fatal, continue */
> - Â Â Â }
> + Â Â Â pci_enable_pcie_error_reporting(pdev);
>
> Â Â Â Âpci_set_master(pdev);
> Â Â Â Âpci_save_state(pdev);
> @@ -5795,9 +5790,6 @@ static void __devexit ixgbe_remove(struct pci_dev *pdev)
> Â Â Â Âfree_netdev(netdev);
>
> Â Â Â Âerr = pci_disable_pcie_error_reporting(pdev);
> - Â Â Â if (err)
> - Â Â Â Â Â Â Â dev_err(&pdev->dev,
> - Â Â Â Â Â Â Â Â Â Â Â "pci_disable_pcie_error_reporting failed 0x%x\n", err);
>
> Â Â Â Âpci_disable_device(pdev);
> Â}

Patch looks fine

Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/