Quoting Stephen Boyd (2019-08-05 16:32:41)
> The hwrng_fill() function can run while devices are suspending and
> resuming. If the hwrng is behind a bus such as i2c or SPI and that bus
> is suspended, the hwrng may hang the bus while attempting to add some
> randomness. It's been observed on ChromeOS devices with suspend-to-idle
> (s2idle) and an i2c based hwrng that this kthread may run and ask the
> hwrng device for randomness before the i2c bus has been resumed.
>
> Let's make this kthread freezable so that we don't try to touch the
> hwrng during suspend/resume. This ensures that we can't cause the hwrng
> backing driver to get into a bad state because the device is guaranteed
> to be resumed before the hwrng kthread is thawed.
>
> Cc: Andrey Pronin <[email protected]>
> Cc: Duncan Laurie <[email protected]>
> Cc: Jason Gunthorpe <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Guenter Roeck <[email protected]>
> Cc: Alexander Steffen <[email protected]>
> Signed-off-by: Stephen Boyd <[email protected]>
> ---
Sorry, forgot to add
Fixes: be4000bc4644 ("hwrng: create filler thread")