diff options
author | Marek Vasut <[email protected]> | 2022-03-12 22:23:48 +0100 |
---|---|---|
committer | Lorenzo Pieralisi <[email protected]> | 2022-03-14 10:32:17 +0000 |
commit | 84b576146294c2be702cfcd174eaa74167e276f9 (patch) | |
tree | 08756ef9c95e413293b1bed62cb715f0b184fda1 /net/lapb/lapb_timer.c | |
parent | e783362eb54cd99b2cac8b3a9aeac942e6f6ac07 (diff) |
PCI: rcar: Finish transition to L1 state in rcar_pcie_config_access()
In case the controller is transitioning to L1 in rcar_pcie_config_access(),
any read/write access to PCIECDR triggers asynchronous external abort. This
is because the transition to L1 link state must be manually finished by the
driver. The PCIe IP can transition back from L1 state to L0 on its own.
Avoid triggering the abort in rcar_pcie_config_access() by checking whether
the controller is in the transition state, and if so, finish the transition
right away. This prevents a lot of unnecessary exceptions, although not all
of them.
Link: https://lore.kernel.org/r/[email protected]
Tested-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Marek Vasut <[email protected]>
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Bjorn Helgaas <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Krzysztof WilczyĆski <[email protected]>
Cc: Lorenzo Pieralisi <[email protected]>
Cc: Wolfram Sang <[email protected]>
Cc: Yoshihiro Shimoda <[email protected]>
Cc: [email protected]
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions