diff options
author | Matt Porter | 2014-04-10 21:22:10 +0200 |
---|---|---|
committer | Herbert Xu | 2014-04-11 05:31:13 +0200 |
commit | eb4a5346e777784f1b5ae9fd0c29b96344bdc3ae (patch) | |
tree | 9803168c7b40fd074d3140436547a58c6c0365dd /block/blk-merge.c | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 (diff) | |
download | kernel-qcow2-linux-eb4a5346e777784f1b5ae9fd0c29b96344bdc3ae.tar.gz kernel-qcow2-linux-eb4a5346e777784f1b5ae9fd0c29b96344bdc3ae.tar.xz kernel-qcow2-linux-eb4a5346e777784f1b5ae9fd0c29b96344bdc3ae.zip |
hwrng: bcm2835 - fix oops when rng h/w is accessed during registration
Commit "d9e7972 hwrng: add randomness to system from rng sources"
exposed a bug in the bcm2835-rng driver resulting in boot failure
on Raspberry Pi due to the following oops:
[ 28.261523] BUG: soft lockup - CPU#0 stuck for 23s! [swapper:1]
[ 28.271058]
[ 28.275958] CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.0+ #11
[ 28.285374] task: db480000 ti: db484000 task.ti: db484000
[ 28.294279] PC is at bcm2835_rng_read+0x28/0x48
[ 28.302276] LR is at hwrng_register+0x1a8/0x238
.
.
.
The RNG h/w is not completely initialized and enabled before
hwrng_register() is called and so the bcm2835_rng_read() fails.
Fix this by making the warmup/enable writes before registering
the RNG source with the hwrng core.
Signed-off-by: Matt Porter <mporter@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'block/blk-merge.c')
0 files changed, 0 insertions, 0 deletions