Hi, This series fixes the behavior of the pci_enable_link_state() and pci_enable_link_state_locked() APIs to be in symmetry with pci_disable_link_state*() couterparts. First 3 patches fixes and cleans up the ASPM code and the last 3 patches modifies the atheros drivers to use the pci{enable/disable}_link_state() APIs instead of modifying the LNKCTL register directly for enabling ASPM. NOTE: The current callers of the pci_enable_link_state_locked() APIs (vmd and pcie-qcom) drivers doesn't look like depending on the old behavior of the API. I can atleast assure that for pcie-qcom. For VMD, it would be great if VMD folks CCed could provide their review tags for patch 1/6. Testing ======= I've tested this series on Lenovo Thinkpad T14s with WCN7850 chipset (so that's just ath12k driver). Rest of the drivers are compile tested only. Merging Strategy ================ Even though there is no build dependency between PCI core and atheros patches, there is a functional dependency. So I'd recommend creating an immutable branch with PCI patches and merging that branch into both PCI and linux-wireless trees and finally merging the atheros patches into linux-wireless tree. If immutable branch seems like a hassle, then PCI core patches could get merged for 6.17 and atheros patches can wait for 6.18. - Mani Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx> --- Manivannan Sadhasivam (6): PCI/ASPM: Fix the behavior of pci_enable_link_state*() APIs PCI/ASPM: Transition the device to D0 (if required) inside pci_enable_link_state_locked() API PCI/ASPM: Improve the kernel-doc for pci_disable_link_state*() APIs wifi: ath12k: Use pci_{enable/disable}_link_state() APIs to enable/disable ASPM states wifi: ath11k: Use pci_{enable/disable}_link_state() APIs to enable/disable ASPM states wifi: ath10k: Use pci_{enable/disable}_link_state() APIs to enable/disable ASPM states drivers/net/wireless/ath/ath.h | 14 ++++++ drivers/net/wireless/ath/ath10k/pci.c | 7 +-- drivers/net/wireless/ath/ath11k/pci.c | 10 ++--- drivers/net/wireless/ath/ath12k/pci.c | 10 ++--- drivers/pci/controller/dwc/pcie-qcom.c | 5 --- drivers/pci/controller/vmd.c | 5 --- drivers/pci/pcie/aspm.c | 78 ++++++++++++++++++++++++---------- 7 files changed, 79 insertions(+), 50 deletions(-) --- base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 change-id: 20250711-ath-aspm-fix-c17442a5a9ae Best regards, -- Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxxxxxxxx>