drivers: pci: imx: fix imx_pcie_remove function
We have at least a minor count of boards, that failed to re-initialize PCI express in the Linux kernel. Typical failure rate is 20% on affected boards. This is mitigated by commit 6ecbe137 ("drivers: pci: imx: add imx_pcie_remove function"). However, at least on some i.MX6 custom boards, when calling assert_core_reset() as part of the first-time PCIe init, read access to PCIE_PL_PFLR simply hangs. Surround this readl() with imx_pcie_fix_dabt_handler() does not help. For this reason, the forced LTSSM detection is only used on the second assert_core_reset() that is called shorly before starting the Linux kernel. Signed-off-by:Sven-Ola Tuecke <sven-ola.tuecke@numberfour.eu> Signed-off-by:
Fabio Estevam <fabio.estevam@nxp.com> Tested-by:
David Müller <d.mueller@elsoft.ch>
Please register or sign in to comment