From 5c86c5339c566d943606f551332e0efa8cf87d03 Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Thu, 9 Oct 2014 11:28:34 -0700 Subject: [PATCH 1/2] ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 Somehow we don't have this set in omap2plus_defconfig. Without this apps can segfault randomly on omap3. I can reproduce this easily on am37xx-evm by doing apt-get update over NFSroot. Tested-by: Felipe Balbi Signed-off-by: Tony Lindgren --- arch/arm/configs/omap2plus_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index 69c7bed3c634..16e719c268dd 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig @@ -51,6 +51,7 @@ CONFIG_SOC_AM43XX=y CONFIG_SOC_DRA7XX=y CONFIG_ARM_THUMBEE=y CONFIG_ARM_ERRATA_411920=y +CONFIG_ARM_ERRATA_430973=y CONFIG_SMP=y CONFIG_NR_CPUS=2 CONFIG_CMA=y From b16ccfe02313acd829debfccac45531f45d797cd Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Thu, 9 Oct 2014 11:28:34 -0700 Subject: [PATCH 2/2] ARM: dts: Disable smc91x on n900 until bootloader dependency is removed I added smc91x support but turns out we currently do not set the smc91x timings in gpmc.c but rely on the bootloader timings. This produces the following error unless the smc91x GPMC timings are initialized by the bootloader: Unhandled fault: external abort on non-linefetch (0x1008) at 0xd080630e ... [] (smc_drv_probe) from [] (platform_drv_probe+0x2c/0x5c) [] (platform_drv_probe) from [] (driver_probe_device+0x104/0x22c) [] (driver_probe_device) from [] (__driver_attach+0x94/0x98) [] (__driver_attach) from [] (bus_for_each_dev+0x54/0x88) [] (bus_for_each_dev) from [] (bus_add_driver+0xd8/0x1d8) [] (bus_add_driver) from [] (driver_register+0x78/0xf4) [] (driver_register) from [] (do_one_initcall+0x80/0x1c0) [] (do_one_initcall) from [] (kernel_init_freeable+0x1b8/0x28c) [] (kernel_init_freeable) from [] (kernel_init+0x8/0xec) [] (kernel_init) from [] (ret_from_fork+0x14/0x2c) Let's fix the issue by disabling the smc91x module for now until we have sorted out the issues in gpmc.c. Reported-by: Kevin Hilman Tested-by: Kevin Hilman Signed-off-by: Tony Lindgren --- arch/arm/boot/dts/omap3-n900.dts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts index 9b0494a8ab45..739fcf29c643 100644 --- a/arch/arm/boot/dts/omap3-n900.dts +++ b/arch/arm/boot/dts/omap3-n900.dts @@ -659,6 +659,9 @@ ethernet@gpmc { compatible = "smsc,lan91c94"; + + status = "disabled"; + interrupt-parent = <&gpio2>; interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; /* gpio54 */ reg = <1 0x300 0xf>; /* 16 byte IO range at offset 0x300 */