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 <apro...@chromium.org> > Cc: Duncan Laurie <dlau...@chromium.org> > Cc: Jason Gunthorpe <j...@ziepe.ca> > Cc: Arnd Bergmann <a...@arndb.de> > Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> > Cc: Guenter Roeck <gro...@chromium.org> > Cc: Alexander Steffen <alexander.stef...@infineon.com> > Signed-off-by: Stephen Boyd <swb...@chromium.org> > ---
Sorry, forgot to add Fixes: be4000bc4644 ("hwrng: create filler thread")