diff options
author | David S. Miller <davem@davemloft.net> | 2019-06-22 05:05:42 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-22 05:05:42 +0300 |
commit | e0effb5fbd56a8b2b8917611cbf4fcd9aba92b8f (patch) | |
tree | 5db41c7be5d6888479c5d853171951418c3e7e57 /include | |
parent | dca73a65a68329ee386d3ff473152bac66eaab39 (diff) | |
parent | 62b1b3b3b6d3ef309b1024aea95265c01929933c (diff) | |
download | linux-e0effb5fbd56a8b2b8917611cbf4fcd9aba92b8f.tar.xz |
Merge branch 'PCI-let-pci_disable_link_state-propagate-errors'
Heiner Kallweit says:
====================
PCI: let pci_disable_link_state propagate errors
Drivers like r8169 rely on pci_disable_link_state() having disabled
certain ASPM link states. If OS can't control ASPM then
pci_disable_link_state() turns into a no-op w/o informing the caller.
The driver therefore may falsely assume the respective ASPM link
states are disabled. Let pci_disable_link_state() propagate errors
to the caller, enabling the caller to react accordingly.
I'd propose to let this series go through the netdev tree if the PCI
core extension is acked by the PCI people.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/pci-aspm.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/pci-aspm.h b/include/linux/pci-aspm.h index df28af5cef21..67064145d76e 100644 --- a/include/linux/pci-aspm.h +++ b/include/linux/pci-aspm.h @@ -24,11 +24,12 @@ #define PCIE_LINK_STATE_CLKPM 4 #ifdef CONFIG_PCIEASPM -void pci_disable_link_state(struct pci_dev *pdev, int state); -void pci_disable_link_state_locked(struct pci_dev *pdev, int state); +int pci_disable_link_state(struct pci_dev *pdev, int state); +int pci_disable_link_state_locked(struct pci_dev *pdev, int state); void pcie_no_aspm(void); #else -static inline void pci_disable_link_state(struct pci_dev *pdev, int state) { } +static inline int pci_disable_link_state(struct pci_dev *pdev, int state) +{ return 0; } static inline void pcie_no_aspm(void) { } #endif |