Re: acpi-test tree on eeepc: EC error message on second resume

From: Rafael J. Wysocki
Date: Sat Oct 11 2008 - 15:26:51 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/