On Saturday, 11 of October 2008, Alexey Starikovskiy wrote:Ok.
Alan Jenkins wrote:
I think I found the problem. The "input buffer empty" wait depends onYep, I think something like attached patch may help:
"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
[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),No, we discussed this before -- we are outside of the transaction, thus no GPE
- 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.