Message ID | 1349722956-14159-1-git-send-email-kevin.baradon@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Kevin Baradon <kevin.baradon@gmail.com> Date: Mon, 8 Oct 2012 21:02:36 +0200 > Based on patch from Matthew Garrett <mjg@redhat.com> (https://lkml.org/lkml/2011/11/11/168). > > http://driveragent.com/archive/30421/7-0-14 indicates that ASPM is > disabled on the 250 and 260. Duplicate for sanity. > > Fixes random RX engine hangs I experienced with JMC250 on Clevo W270HU. > > Signed-off-by: Kevin Baradon <kevin.baradon@gmail.com> This should be a PCI quirk shouldn't it? Also: > + pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | > + PCIE_LINK_STATE_CLKPM); This is terrible formatting, you must line up the "PCIE_LINK_STATE_CLKPM" on the second line with the very first column after the openning parenthesis on the first line. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Oct 08, 2012 at 03:24:26PM -0400, David Miller wrote:
> This should be a PCI quirk shouldn't it?
No, it's a driver-level policy decision.
From: Matthew Garrett <mjg59@srcf.ucam.org> Date: Mon, 8 Oct 2012 20:33:16 +0100 > On Mon, Oct 08, 2012 at 03:24:26PM -0400, David Miller wrote: > >> This should be a PCI quirk shouldn't it? > > No, it's a driver-level policy decision. Then at a bare minimum this change should be using one of the ASPM helpers provided by drivers/pci/pcie/aspm.c such as pci_disable_link_state(). -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c index c911d88..373df5a 100644 --- a/drivers/net/ethernet/jme.c +++ b/drivers/net/ethernet/jme.c @@ -27,6 +27,7 @@ #include <linux/module.h> #include <linux/kernel.h> #include <linux/pci.h> +#include <linux/pci-aspm.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/ethtool.h> @@ -2973,6 +2974,9 @@ jme_init_one(struct pci_dev *pdev, /* * set up PCI device basics */ + pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | + PCIE_LINK_STATE_CLKPM); + rc = pci_enable_device(pdev); if (rc) { pr_err("Cannot enable PCI device\n");
Based on patch from Matthew Garrett <mjg@redhat.com> (https://lkml.org/lkml/2011/11/11/168). http://driveragent.com/archive/30421/7-0-14 indicates that ASPM is disabled on the 250 and 260. Duplicate for sanity. Fixes random RX engine hangs I experienced with JMC250 on Clevo W270HU. Signed-off-by: Kevin Baradon <kevin.baradon@gmail.com> Cc: Guo-Fu Tseng <cooldavid@cooldavid.org> Cc: Matthew Garrett <mjg@redhat.com> Cc: netdev@vger.kernel.org --- drivers/net/ethernet/jme.c | 4 ++++ 1 file changed, 4 insertions(+)