Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: acpi-test tree on eeepc: EC error message on second resume | Date | Sat, 11 Oct 2008 21:30:57 +0200 |
| |
On Saturday, 11 of October 2008, Alexey Starikovskiy wrote: > Alan Jenkins wrote: > > I think I found the problem. The "input buffer empty" wait depends on > > "interrupt mode" to work properly, and we don't immediately enable the > > interrupt on resume. The wait should have a polling fallback anyway, to > > be consistent with the other transaction waits. > > > > Alan > Yep, I think something like attached patch may help:
[Can you please append patches instead of or apart from attaching them? That would make it easier to comment them.]
if (!wait_event_timeout(ec->wait, ec_check_ibf0(ec), - msecs_to_jiffies(ACPI_EC_DELAY))) { + msecs_to_jiffies(ACPI_EC_DELAY)) && + !ec_check_ibf0(ec)) {
Shouldn't this go under the spinlock? Surely it can race with the GPE handler.
pr_err(PREFIX "input buffer is not empty, " "aborting transaction\n");
Thanks, Rafael
| |