[PATCH 0/4] [T/master-next] armhf: fix for OMAP AES crypto driver
Paolo Pisati
paolo.pisati at canonical.com
Thu Jan 16 15:19:24 UTC 2014
Patches to prevent omap AES from faulting at boot:
[ 8.864013] Unhandled fault: imprecise external abort (0x1406) at 0xbf039000
[ 8.871429] Internal error: : 1406 [#1] SMP ARM
[ 8.876281] Modules linked in: omap_aes(+) matrix_keymap omap_wdt omap_ocp2scp phy_twl6030_usb omap2430 pwm_twl_led uio_pdrv_genirq pwm_twl uio
[ 8.889953] CPU: 1 PID: 308 Comm: systemd-udevd Tainted: G W 3.13.0-4-generic #19
[ 8.899475] task: ee352280 ti: eda1c000 task.ti: eda1c000
[ 8.904968] PC is at omap_aes_probe+0x188/0x61c [omap_aes]
[ 8.910980] LR is at 0x0
[ 8.913635] pc : [<bf039820>] lr : [<00000000>] psr: 600f0013
[ 8.913635] sp : eda1dd10 ip : 02106004 fp : bf03e000
[ 8.925750] r10: bf03add4 r9 : ee16ee10 r8 : eda1dd34
[ 8.931243] r7 : 00000000 r6 : ee16ee00 r5 : 00000000 r4 : ed9fa710
[ 8.938140] r3 : f03ca084 r2 : 00000084 r1 : 02106004 r0 : ed9fa710
[ 8.944885] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 8.952545] Control: 10c5387d Table: ada5004a DAC: 00000015
[ 8.958587] Process systemd-udevd (pid: 308, stack limit = 0xeda1c240)
[ 8.965454] Stack: (0xeda1dd10 to 0xeda1e000)
[ 8.970092] dd00: bf03e000 c01c4c0c ee16ee10 00003f68
[ 8.978698] dd20: ed0b83c0 ed0b84c0 ee154b00 00000000 ed0b84c0 4b501000 4b50109f c200f7c8
[ 8.987335] dd40: 00000200 00000000 00000000 00000000 ed0b8410 ee16ee10 bf03b5b8 c0af2208
[ 8.995941] dd60: 00000000 bf03b5b8 eda1c000 00000000 bf03e000 c03d0680 c03d0668 ee16ee10
[ 9.004577] dd80: c0bc08b8 c03ceca0 bf03b5b8 ee16ee10 ee16ee10 bf03b5b8 ee16ee44 00000000
[ 9.013122] dda0: c0a3e50c c03cefb4 00000000 bf03b5b8 c03cef28 c03cd00c ee05bc5c ee151634
[ 9.021789] ddc0: bf03b5b8 edae7780 c0ab17b8 c03ce2ec bf03b564 c02de054 bf03b5b8 bf03b5b8
[ 9.030242] dde0: bf03b98c eda1df58 eda1dec0 c03cf5dc 00000000 00000000 bf03b98c c0009704
[ 9.039062] de00: 00000000 c068f424 bf03b980 c0a86318 00000000 bf03b980 00000001 c0a3e50c
[ 9.047668] de20: bf03b980 c00e7a8c c00e79c0 fffffffa 00000000 c0692648 c0a843b4 ffffffff
[ 9.056304] de40: c0a843b4 00000000 bf03b980 c0077610 00000000 bd94352e c0a3e50c 00000000
[ 9.064910] de60: bf03b98c eda1df58 eda1dec0 00000000 c0a3e50c bf03b980 00000000 c00bd0cc
[ 9.073516] de80: ffff8000 00007fff c00ba224 b6db6db7 00000000 bf03b98c eda1c000 bf03bb18
[ 9.082153] dea0: bf03b98c eda1df60 eda1df8c c0aee158 00000000 c0a3e50c ed0e0550 f03b9000
[ 9.090789] dec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 9.099395] dee0: 00000000 00000000 6e72656b 00006c65 00000000 00000000 00000000 00000000
[ 9.108032] df00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 9.116577] df20: 00000000 bd94352e b65f2000 00006a98 b65f2000 b6f42fa8 00000080 c000fd04
[ 9.125274] df40: eda1c000 00001000 00000000 c00bd5d4 00000000 00006a98 f03b2000 0000683c
[ 9.133850] df60: f03b5ca4 f03b5b07 f03b7134 00002b18 000032f8 bf03b8c0 00000008 00000001
[ 9.142456] df80: 00000028 00000029 00000020 0000001b 00000019 00000000 00000000 00020000
[ 9.151000] dfa0: 012c6428 c000fb60 00000000 00020000 b65f2000 00006a98 b6f42fa8 00000002
[ 9.159667] dfc0: 00000000 00020000 012c6428 00000080 012c07c8 00000000 00006a98 00000000
[ 9.168304] dfe0: b6ec8180 bec16a70 b6f3d3ad b6ec8190 800f0010 b65f2000 00000000 00000000
[ 9.176788] [<bf039820>] (omap_aes_probe+0x188/0x61c [omap_aes]) from [<c03d0680>] (platform_drv_probe+0x18/0x48)
[ 9.187744] [<c03d0680>] (platform_drv_probe+0x18/0x48) from [<c03ceca0>] (driver_probe_device+0x150/0x394)
[ 9.197967] [<c03ceca0>] (driver_probe_device+0x150/0x394) from [<c03cefb4>] (__driver_attach+0x8c/0x90)
[ 9.208007] [<c03cefb4>] (__driver_attach+0x8c/0x90) from [<c03cd00c>] (bus_for_each_dev+0x60/0x94)
[ 9.209197] [<c03cd00c>] (bus_for_each_dev+0x60/0x94) from [<c03ce2ec>] (bus_add_driver+0x160/0x21c)
[ 9.217529] [<c03ce2ec>] (bus_add_driver+0x160/0x21c) from [<c03cf5dc>] (driver_register+0x78/0xf8)
[ 9.230651] [<c03cf5dc>] (driver_register+0x78/0xf8) from [<c0009704>] (do_one_initcall+0xf4/0x1a0)
[ 9.230651] [<c0009704>] (do_one_initcall+0xf4/0x1a0) from [<c00bd0cc>] (load_module+0xe44/0x128c)
[ 9.246856] [<c00bd0cc>] (load_module+0xe44/0x128c) from [<c00bd5d4>] (SyS_init_module+0xc0/0x124)
[ 9.264892] [<c00bd5d4>] (SyS_init_module+0xc0/0x124) from [<c000fb60>] (ret_fast_syscall+0x0/0x3c)
[ 9.264892] Code: e1a00009 eb4e804f e1a00004 ebfffe18 (e59430d0)
[ 9.264892] ---[ end trace 2dbc6d49bd13c427 ]---
See also: http://marc.info/?l=linux-omap&m=138612155727510&w=2
Patch 4 is the real fix (https://patchwork.kernel.org/patch/3280571/) and is already part of cryptodev
(http://git.kernel.org/cgit/linux/kernel/git/herbert/cryptodev-2.6.git/commit/?id=f7b2b5dd6a62a47e871627c71ed01aa3482154d9).
Patches 0-3 are a dependency and are part of larger patchset (http://marc.info/?l=linux-kernel&m=138541594910233&w=2)
that was put on hold (http://marc.info/?l=linux-omap&m=138541756110924&w=2) while awaiting for another patchset
(clock info parsing from DT - http://www.spinics.net/lists/linux-omap/msg101329.html),
but this last one was bounced back ~1month ago, no new revision showed up and
i'm starting to doubt it will make the 3.14 window (and even if it makes 3.14, this series had to respinned against it,
pushing its inclusion even further in the future like 3.14-rcX material)
All modifications are limited to omap hardware (and thus any fallout would be limited to that hardware), and while we await
for the DT parsing series + the hwmod series to be respinned, reviewed and pulled, we can have this one in our tree and
fix omapX booting.
Patch 3 is strictly not necessary for OMAP (since it covers AM33X Soc), but i have a beaglebone here and
i would like to enable it as part of this cycle, so i'm pulling this one too.
Proposing for T/master-next.
Joel Fernandes (3):
ARM: OMAP: hwmod: Add SYSC offsets for AES IP
ARM: OMAP4: hwmod: Add hwmod data for AES IP
OMAP: AM33xx: hwmod: Correct AES module SYSC type
Nishanth Menon (1):
crypto: omap-aes: add error check for pm_runtime_get_sync
arch/arm/mach-omap2/omap_hwmod.h | 11 +++++
.../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 1 +
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 54 ++++++++++++++++++++++
arch/arm/mach-omap2/omap_hwmod_common_data.c | 10 ++++
drivers/crypto/omap-aes.c | 16 ++++++-
5 files changed, 90 insertions(+), 2 deletions(-)
--
1.8.5.2
More information about the kernel-team
mailing list