linux_dsm_epyc7002/drivers/acpi/nfit
Dan Williams 33cc2c9667 acpi, nfit: Fix scrub idle detection
The notification of scrub completion happens within the scrub workqueue.
That can clearly race someone running scrub_show() and work_busy()
before the workqueue has a chance to flush the recently completed work.
Add a flag to reliably indicate the idle vs busy state. Without this
change applications using poll(2) to wait for scrub-completion may
falsely wakeup and read ARS as being busy even though the thread is
going idle and then hang indefinitely.

Fixes: bc6ba80858 ("nfit, address-range-scrub: rework and simplify ARS...")
Cc: <stable@vger.kernel.org>
Reported-by: Vishal Verma <vishal.l.verma@intel.com>
Tested-by: Vishal Verma <vishal.l.verma@intel.com>
Reported-by: Lukasz Dorau <lukasz.dorau@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2018-07-05 19:33:53 -07:00
..
core.c acpi, nfit: Fix scrub idle detection 2018-07-05 19:33:53 -07:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile nfit: do an ARS scrub on hitting a latent media error 2016-07-24 08:04:04 -07:00
mce.c acpi, nfit: remove redundant __func__ in dev_dbg 2018-03-05 15:58:36 -08:00
nfit.h acpi, nfit: Fix scrub idle detection 2018-07-05 19:33:53 -07:00