crypto: exynos - Introduce mutex to prevent concurrent access to hardware
authorŁukasz Stelmach <l.stelmach@samsung.com>
Tue, 12 Dec 2017 16:36:07 +0000 (17:36 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 22 Dec 2017 08:52:44 +0000 (19:52 +1100)
commit25cf7f06af2264d240c91255bb9c6082d98cc73e
tree3aaf008542d30ccde544831bb9f2167910d93be1
parent99c9acfe594e07085b11cc9c317c9c9961155ee4
crypto: exynos - Introduce mutex to prevent concurrent access to hardware

Hardware operations like reading random numbers and setting a seed need
to be conducted in a single thread. Therefore a mutex is required to
prevent multiple threads (processes) from accessing the hardware at the
same time.

The sequence of mutex_lock() and mutex_unlock() in the exynos_rng_reseed()
function enables switching between different threads waiting for the
driver to generate random numbers for them.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/exynos-rng.c