projects
/
profile
/
ivi
/
kernel-x86-ivi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
304e71e
)
ARM: OMAP: fix __init section mismatch for _enable_preprogram
author
jean-philippe francois
<jp.francois@cynove.com>
Thu, 16 May 2013 18:25:07 +0000
(11:25 -0700)
committer
Tony Lindgren
<tony@atomide.com>
Thu, 16 May 2013 18:25:07 +0000
(11:25 -0700)
_enable_preprogram is marked as __init, but is called from _enable
which is not. Without this patch, the board oopses after init. Tested
on custom hardware and on beagle board xM. Otherwise we can get:
Unable to handle kernel paging request at virtual address
000b0012
pgd =
cf968000
*pgd=
8fb06831
, *pte=
00000000
, *ppte=
00000000
PREEMPT ARM
Modules linked in:
CPU: 0 Not tainted (3.9.0 #2)
PC is at _enable_preprogram+0x1c/0x24
LR is at omap_hwmod_enable+0x34/0x60
psr:
80000093
sp :
cf95de08
ip :
00002de5
fp :
bec33d4c
r10:
00000000
r9 :
00000002
r8 :
b6dd2c78
r7 :
00000004
r6 :
00000000
r5 :
a0000013
r4 :
cf95c000
r3 :
00000000
r2 :
b6dd2c7c
r1 :
00000000
r0 :
000b0012
Flags: Nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user
Control:
10c5387d
Table:
8f968019
DAC:
00000015
Process otpcmd (pid: 607, stack limit = 0xcf95c230)
Stack: (0xcf95de08 to 0xcf95e000)
de00:
00000001
cf91f840
00000000
c001d6fc
00000002
cf91f840
de20:
cf8f7e10
c001de54
cf8f7e10
c001de78
c001de68
c01d5e80
00000000
cf8f7e10
de40:
cf8f7e10
c01d5f28
cf8f7e10
c0530d30
00000000
c01d6f28
00000000
c0088664
de60:
b6ea1000
cfb05284
cf95c000
00000001
cf95c000
60000013
00000001
cf95dee4
de80:
cf870050
c01d7308
cf870010
cf870050
00000001
c0278b14
c0526f28
00000000
dea0:
cf870050
ffff8e18
00000001
cf95dee4
00000000
c0274f7c
cf870050
00000001
dec0:
cf95dee4
cf1d8484
000000e0
c0276464
00000008
cf9c0000
00000007
c0276980
dee0:
cf9c0000
00000064
00000008
cf1d8404
cf1d8400
c01cc05c
0000270a
cf1d8504
df00:
00000023
cf1d8484
00000007
c01cc670
00000bdd
00000001
00000000
cf449e60
df20:
cf1dde70
cf1d8400
bec33d18
cf1d8504
c0246f00
00000003
cf95c000
00000000
df40:
bec33d4c
c01cd078
00000003
cf1d8504
00000081
c01cbcb8
bec33d18
00000003
df60:
bec33d18
c00a9034
00002000
c00a9c68
cf92fe00
00000003
c0246f00
cf92fe00
df80:
00000000
c00a9cb0
00000003
00000000
00008e70
00000000
b6f17000
00000036
dfa0:
c000e484
c000e300
00008e70
00000000
00000003
c0246f00
bec33d18
bec33d18
dfc0:
00008e70
00000000
b6f17000
00000036
00000000
00000000
b6f6d000
bec33d4c
dfe0:
b6ea1bd0
bec33d0c
00008c9c
b6ea1bdc
60000010
00000003
00000000
00000000
(_omap_device_enable_hwmods+0x20/0x34)
(omap_device_enable+0x3c/0x50)
(_od_runtime_resume+0x10/0x1c)
(__rpm_callback+0x54/0x98)
(rpm_callback+0x64/0x7c)
(rpm_resume+0x434/0x554)
(__pm_runtime_resume+0x48/0x74)
(omap_i2c_xfer+0x28/0xe8)
(__i2c_transfer+0x3c/0x78)
(i2c_transfer+0x6c/0xc0)
(i2c_master_send+0x38/0x48)
(sha204p_send_command+0x60/0x9c)
(sha204c_send_and_receive+0x5c/0x1e0)
(sha204m_read+0x94/0xa0)
(otp_do_read+0x50/0xa4)
(vfs_ioctl+0x24/0x40)
(do_vfs_ioctl+0x1b0/0x1c0)
(sys_ioctl+0x38/0x54)
(ret_fast_syscall+0x0/0x30)
Code:
e1a08002
ea000009
e598003c
e592c05c
(
e7904003
)
Cc: stable@vger.kernel.org
Signed-off-by: Jean-Philippe Fran=C3=A7ois <jp.francois@cynove.com>
Acked-by: Kevin Hilman <khilman@linaro.org>
[tony@atomide.com: updated description with oops]
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/omap_hwmod.c
patch
|
blob
|
history
diff --git
a/arch/arm/mach-omap2/omap_hwmod.c
b/arch/arm/mach-omap2/omap_hwmod.c
index
d25a95f
..
e328988
100644
(file)
--- a/
arch/arm/mach-omap2/omap_hwmod.c
+++ b/
arch/arm/mach-omap2/omap_hwmod.c
@@
-2065,7
+2065,7
@@
static int _omap4_get_context_lost(struct omap_hwmod *oh)
* do so is present in the hwmod data, then call it and pass along the
* return value; otherwise, return 0.
*/
-static int _
_init _
enable_preprogram(struct omap_hwmod *oh)
+static int _enable_preprogram(struct omap_hwmod *oh)
{
if (!oh->class->enable_preprogram)
return 0;