diff options
author | Andrew Lunn <andrew@lunn.ch> | 2013-05-21 19:41:48 +0200 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2013-05-28 14:50:06 +0000 |
commit | e89b4058096569c999fa599370162022a5a2b3d2 (patch) | |
tree | ffdc92dc9f8af4e9a257bf228a62a0fc1979476c | |
parent | 489e138eec96f529c5e8d4cd3ea45882ecdbf5ca (diff) | |
download | linux-e89b4058096569c999fa599370162022a5a2b3d2.tar.gz linux-e89b4058096569c999fa599370162022a5a2b3d2.tar.xz |
ARM: Kirkwood: TS219: Fix crash by double PCIe instantiation
When creating the DT based boards-ts219.c the none DT ts219-setup.c
was used as a template. This includes a lateinit() call to initialize
the PCIe bus. The code makes use of machine_is_ts219() which is never
true on DT, so a FIXME was added and the code left as is. This was
unproblematic until b73690c8f8b5d: "ARM: Kirkwood: Support basic
hotplug for PCI-E" which changes the way the PCIe bus is
initialized. The non-DT ts219-setup.c now crashes during boot. The
lateinit() call in the DT boards-ts219.c is being called,
machine_is_ts219() is true and so the PCIe is initialized a second
time.
This patch removes the useless, and now clearly dangerous, code from
boards-ts219.c, making ts219-setup.c work again.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Cc: <stable@vger.kernel.org> # v3.9.x
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
-rw-r--r-- | arch/arm/mach-kirkwood/board-ts219.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/arch/arm/mach-kirkwood/board-ts219.c b/arch/arm/mach-kirkwood/board-ts219.c index acb0187c7ee1..4695d5f35fc9 100644 --- a/arch/arm/mach-kirkwood/board-ts219.c +++ b/arch/arm/mach-kirkwood/board-ts219.c @@ -41,13 +41,3 @@ void __init qnap_dt_ts219_init(void) pm_power_off = qnap_tsx1x_power_off; } - -/* FIXME: Will not work with DT. Maybe use MPP40_GPIO? */ -static int __init ts219_pci_init(void) -{ - if (machine_is_ts219()) - kirkwood_pcie_init(KW_PCIE0); - - return 0; -} -subsys_initcall(ts219_pci_init); |