On Mon, Sep 19, 2022 at 11:06 AM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote: > > By the way, there was a recent ath9k patch that kind of went to a > similar tune. [...] Maybe that's a potential solution here, or > something similar to it. Jason was kind enough to point me to the patch in question: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=36cb6494429bd64b27b7ff8b4af56f8e526da2b4 This patch limits the long sleep inside the fillfn kthread, by terminating the sleep on hwrng_unregister(). This doesn't appear like a viable approach for the suspend/resume issue? - there is a great multitude of tpm_msleep()/msleep() calls in the tpm's rng_get_data() path. They would all have to be made interruptible. - even if interrupted successfully, now the kthread must be blocked until after resume. If so, what is the point of using a non-freezable kthread.