Re: [PATCH] hwrng: bcm2835: fix oops when rng h/w is accessed during registration

From: Herbert Xu
Date: Thu Apr 10 2014 - 23:33:19 EST


On Thu, Apr 10, 2014 at 03:22:10PM -0400, Matt Porter wrote:
> 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@xxxxxxxxxx>

Patch applied. Thanks a lot!
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/