Ensure cooldown period tolerance of 1% is actually accounted for.

Signed-off-by: Jan Henrik Weinstock <jan.weinst...@rwth-aachen.de>
---

Before patch, if period_us was less than 100us, no extra sleep time was added. If it was more than 100us, only 1us extra time (and not 1%) is slept.

 drivers/char/hw_random/timeriomem-rng.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/char/hw_random/timeriomem-rng.c b/drivers/char/hw_random/timeriomem-rng.c
index e262445fe..f35f0f31f 100644
--- a/drivers/char/hw_random/timeriomem-rng.c
+++ b/drivers/char/hw_random/timeriomem-rng.c
@@ -69,7 +69,7 @@ static int timeriomem_rng_read(struct hwrng *hwrng, void *data,
                 */
                if (retval > 0)
                        usleep_range(period_us,
-                                       period_us + min(1, period_us / 100));
+                                       period_us + max(1, period_us / 100));

                *(u32 *)data = readl(priv->io_base);
                retval += sizeof(u32);
--
2.17.1

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to