diff options
author | Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> | 2007-03-07 18:29:35 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-03-09 23:16:23 -0500 |
commit | 9e197219605513c14d3eae41039ecf1b82d1920d (patch) | |
tree | 143f16569165e172efd12d938003a48f61c7de62 /drivers/acpi/system.c | |
parent | 08e15e81a40e3241ce93b4a43886f3abda184aa6 (diff) |
ACPI: ec: fix race in status register access
Delay the read of the EC status register until
after the event that caused it occurs -- otherwise
it is possible to read and act on stale status that was
associated with the previous event.
Do this with a perpetually incrementing "event_count" to detect
when a new event occurs and it is safe to read status.
There is no workaround for polling mode -- it is inherently
exposed to reading and acting on stale status, since it
doesn't have an interrupt to tell it the event completed.
http://bugzilla.kernel.org/show_bug.cgi?id=8110
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/system.c')
0 files changed, 0 insertions, 0 deletions