From: Jorge Ramirez-Ortiz Date: Thu, 6 Aug 2020 10:00:09 +0000 (+0200) Subject: hwrng: optee - handle unlimited data rates X-Git-Tag: Ubuntu-5.10.0-12.13~1740^2~187 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=340939933e841bca50324d324e6a7ccf9b42999f;p=mirror_ubuntu-hirsute-kernel.git hwrng: optee - handle unlimited data rates Data rates of MAX_UINT32 will schedule an unnecessary one jiffy timeout on the call to msleep. Avoid this scenario by using 0 as the unlimited data rate. Signed-off-by: Jorge Ramirez-Ortiz Reviewed-by: Sumit Garg Signed-off-by: Herbert Xu --- diff --git a/drivers/char/hw_random/optee-rng.c b/drivers/char/hw_random/optee-rng.c index 49b2e02537dd..5bc4700c4dae 100644 --- a/drivers/char/hw_random/optee-rng.c +++ b/drivers/char/hw_random/optee-rng.c @@ -128,7 +128,7 @@ static int optee_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) data += rng_size; read += rng_size; - if (wait) { + if (wait && pvt_data->data_rate) { if (timeout-- == 0) return read; msleep((1000 * (max - read)) / pvt_data->data_rate);