No luck. The first patch caused a warning and oops with ath9k_rng_read() at the top of the call stack when reading from /dev/hwrng: WARNING: CPU: 1 PID: 454 at kernel/kthread.c:75 kthread_should_stop+0x2a/0x30 BUG: kernel NULL pointer dereference, address: 0000000000000000 The second didn't have a noticeable effect, for better or worse. On Thu, Jun 23, 2022 at 5:16 AM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote: > > Or perhaps more simply: > > diff --git a/drivers/net/wireless/ath/ath9k/rng.c b/drivers/net/wireless/ath/ath9k/rng.c > index cb5414265a9b..5b44cd918c2b 100644 > --- a/drivers/net/wireless/ath/ath9k/rng.c > +++ b/drivers/net/wireless/ath/ath9k/rng.c > @@ -83,7 +83,8 @@ static int ath9k_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) > if (!wait || !max || likely(bytes_read) || fail_stats > 110) > break; > > - msleep_interruptible(ath9k_rng_delay_get(++fail_stats)); > + if (msleep_interruptible(ath9k_rng_delay_get(++fail_stats))) > + break; > } > > if (wait && !bytes_read && max) >