hwrng: optee - fix wait use case
authorJorge Ramirez-Ortiz <jorge@foundries.io>
Thu, 6 Aug 2020 10:00:10 +0000 (12:00 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Aug 2020 04:45:28 +0000 (14:45 +1000)
commitc0f6eebedddaa4ab97311ec0730ab174d2a4c0bb
tree3d916155acf9119f37abe6fc4025386d63256024
parent340939933e841bca50324d324e6a7ccf9b42999f
hwrng: optee - fix wait use case

The current code waits for data to be available before attempting a
second read. However the second read would not be executed as the
while loop will exit.

This fix does not wait if all data has been read (skips the call to
msleep(0)) and reads a second time if partial data was retrieved on
the first read.

Worth noticing that since msleep(0) schedules a one jiffy timeout is
better to skip such a call.

Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/optee-rng.c