On Wed, Jan 24, 2024 at 09:16:38AM +0100, Johan Hovold wrote:
On Tue, Jan 23, 2024 at 04:36:48PM -0600, Bjorn Helgaas wrote:
I don't quite follow. By simply reverting, do you mean to revert f93e71aea6c6 ("Revert "PCI/ASPM: Remove pcie_aspm_pm_state_change()"")? IIUC that would break Michael's machine again.
Right, at least until that issue is fully understood and alternative fixes have been considered.
If that's not an option, we need to rework core to pass a flag through more than one layer to indicate whether pcie_aspm_pm_state_change() should take the bus semaphore or not. I'd rather not do that if it can be avoided.
As a revert appears unlikely to happen, let's fix the regression by adding a new helper pci_set_power_state_locked() that can be called with the bus lock held:
https://lore.kernel.org/lkml/20240130100243.11011-1-johan+linaro@kernel.org/
Johan