diff options
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0054-ARM-omap-fix-oops-in-arch-arm-mach-omap2-vp.c-when-p.patch')
-rw-r--r-- | recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0054-ARM-omap-fix-oops-in-arch-arm-mach-omap2-vp.c-when-p.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0054-ARM-omap-fix-oops-in-arch-arm-mach-omap2-vp.c-when-p.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0054-ARM-omap-fix-oops-in-arch-arm-mach-omap2-vp.c-when-p.patch deleted file mode 100644 index 6d70b402..00000000 --- a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0054-ARM-omap-fix-oops-in-arch-arm-mach-omap2-vp.c-when-p.patch +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | From 758e4d3da5bc2a30a7618cb8f1710e096dac0e53 Mon Sep 17 00:00:00 2001 | ||
2 | From: Russell King <rmk+kernel@arm.linux.org.uk> | ||
3 | Date: Tue, 7 Feb 2012 09:42:11 +0000 | ||
4 | Subject: [PATCH 54/73] ARM: omap: fix oops in arch/arm/mach-omap2/vp.c when | ||
5 | pmic is not found | ||
6 | |||
7 | commit d980e0f8d858c6963d676013e976ff00ab7acb2b upstream. | ||
8 | |||
9 | When the PMIC is not found, voltdm->pmic will be NULL. vp.c's | ||
10 | initialization function tries to dereferences this, which causes an | ||
11 | oops: | ||
12 | |||
13 | Unable to handle kernel NULL pointer dereference at virtual address 00000000 | ||
14 | pgd = c0004000 | ||
15 | [00000000] *pgd=00000000 | ||
16 | Internal error: Oops: 5 [#1] PREEMPT | ||
17 | Modules linked in: | ||
18 | CPU: 0 Not tainted (3.3.0-rc2+ #204) | ||
19 | PC is at omap_vp_init+0x5c/0x15c | ||
20 | LR is at omap_vp_init+0x58/0x15c | ||
21 | pc : [<c03db880>] lr : [<c03db87c>] psr: 60000013 | ||
22 | sp : c181ff30 ip : c181ff68 fp : c181ff64 | ||
23 | r10: c0407808 r9 : c040786c r8 : c0407814 | ||
24 | r7 : c0026868 r6 : c00264fc r5 : c040ad6c r4 : 00000000 | ||
25 | r3 : 00000040 r2 : 000032c8 r1 : 0000fa00 r0 : 000032c8 | ||
26 | Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel | ||
27 | Control: 10c5387d Table: 80004019 DAC: 00000015 | ||
28 | Process swapper (pid: 1, stack limit = 0xc181e2e8) | ||
29 | Stack: (0xc181ff30 to 0xc1820000) | ||
30 | ff20: c0381d00 c02e9c6d c0383582 c040786c | ||
31 | ff40: c040ad6c c00264fc c0026868 c0407814 00000000 c03d9de4 c181ff8c c181ff68 | ||
32 | ff60: c03db448 c03db830 c02e982c c03fdfb8 c03fe004 c0039988 00000013 00000000 | ||
33 | ff80: c181ff9c c181ff90 c03d9df8 c03db390 c181ffdc c181ffa0 c0008798 c03d9df0 | ||
34 | ffa0: c181ffc4 c181ffb0 c0055a44 c0187050 c0039988 c03fdfb8 c03fe004 c0039988 | ||
35 | ffc0: 00000013 00000000 00000000 00000000 c181fff4 c181ffe0 c03d1284 c0008708 | ||
36 | ffe0: 00000000 c03d1208 00000000 c181fff8 c0039988 c03d1214 1077ce40 01f7ee08 | ||
37 | Backtrace: | ||
38 | [<c03db824>] (omap_vp_init+0x0/0x15c) from [<c03db448>] (omap_voltage_late_init+0xc4/0xfc) | ||
39 | [<c03db384>] (omap_voltage_late_init+0x0/0xfc) from [<c03d9df8>] (omap2_common_pm_late_init+0x14/0x54) | ||
40 | r8:00000000 r7:00000013 r6:c0039988 r5:c03fe004 r4:c03fdfb8 | ||
41 | [<c03d9de4>] (omap2_common_pm_late_init+0x0/0x54) from [<c0008798>] (do_one_initcall+0x9c/0x164) | ||
42 | [<c00086fc>] (do_one_initcall+0x0/0x164) from [<c03d1284>] (kernel_init+0x7c/0x120) | ||
43 | [<c03d1208>] (kernel_init+0x0/0x120) from [<c0039988>] (do_exit+0x0/0x2cc) | ||
44 | r5:c03d1208 r4:00000000 | ||
45 | Code: e5ca300b e5900034 ebf69027 e5994024 (e5941000) | ||
46 | ---[ end trace aed617dddaf32c3d ]--- | ||
47 | Kernel panic - not syncing: Attempted to kill init! | ||
48 | |||
49 | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> | ||
50 | Cc: Igor Grinberg <grinberg@compulab.co.il> | ||
51 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | ||
52 | --- | ||
53 | arch/arm/mach-omap2/vp.c | 5 +++++ | ||
54 | 1 files changed, 5 insertions(+), 0 deletions(-) | ||
55 | |||
56 | diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c | ||
57 | index 66bd700..3b52027 100644 | ||
58 | --- a/arch/arm/mach-omap2/vp.c | ||
59 | +++ b/arch/arm/mach-omap2/vp.c | ||
60 | @@ -41,6 +41,11 @@ void __init omap_vp_init(struct voltagedomain *voltdm) | ||
61 | u32 val, sys_clk_rate, timeout, waittime; | ||
62 | u32 vddmin, vddmax, vstepmin, vstepmax; | ||
63 | |||
64 | + if (!voltdm->pmic || !voltdm->pmic->uv_to_vsel) { | ||
65 | + pr_err("%s: No PMIC info for vdd_%s\n", __func__, voltdm->name); | ||
66 | + return; | ||
67 | + } | ||
68 | + | ||
69 | if (!voltdm->read || !voltdm->write) { | ||
70 | pr_err("%s: No read/write API for accessing vdd_%s regs\n", | ||
71 | __func__, voltdm->name); | ||
72 | -- | ||
73 | 1.7.7.4 | ||
74 | |||