summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch
diff options
context:
space:
mode:
authorjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-05-06 21:25:34 +0000
committerjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-05-06 21:25:34 +0000
commit35009bdf80aa2f5749418f1720613c848c48214b (patch)
treec31ef9cb2a40cc2622fc00b956a7d8428f67d147 /target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch
parentd4d537811bcf327b603605aea8d20295ef317f06 (diff)
bcm63xx: fix a race between PCI bus scan and fallback sprom registration
The fallback sprom handler was installed too late, resulting in ssb failing to get a valid sprom on some devices. Fixes #11384. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31638 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch b/target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch
new file mode 100644
index 000000000..3e74e9763
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.3/306-MIPS-BCM63XX-register-devices-earlier.patch
@@ -0,0 +1,21 @@
+From d42f3f75a5d1abe9f7c5275fb59f3e894e83043d Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Sun, 6 May 2012 15:05:48 +0200
+Subject: [PATCH 1/2] MIPS: BCM63XX: register devices earlier
+
+Register devices as an arch initcall so that the fallback sprom gets
+installed in the same phase as the pci bus gets registered.
+
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+---
+ arch/mips/bcm63xx/setup.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+--- a/arch/mips/bcm63xx/setup.c
++++ b/arch/mips/bcm63xx/setup.c
+@@ -150,4 +150,4 @@ int __init bcm63xx_register_devices(void
+ return board_register_devices();
+ }
+
+-device_initcall(bcm63xx_register_devices);
++arch_initcall(bcm63xx_register_devices);