From e5c7b8c66f1fee64c228a6db8da72e60fcb569af Mon Sep 17 00:00:00 2001 From: Len Brown Date: Thu, 29 Jun 2006 15:57:42 -0400 Subject: [PATCH] --- yaml --- r: 31447 b: refs/heads/master c: a51a69c0ed955f4fa6f64b4377378c744f9b737b h: refs/heads/master i: 31445: 5a47a28cb5198357aef13beca153e53de9c97bc1 31443: 6897454200570aa9fab28f600a84e89ceb1d420d 31439: ae7de97037b98053adbd7cfbcb440895f9608ef6 v: v3 --- [refs] | 2 +- trunk/drivers/acpi/ec.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 97952d4f2c12..73b90010bb60 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f831335d42a9aed26449a264266763fb542dbbe3 +refs/heads/master: a51a69c0ed955f4fa6f64b4377378c744f9b737b diff --git a/trunk/drivers/acpi/ec.c b/trunk/drivers/acpi/ec.c index 874f912962c4..8c5d7df7d343 100644 --- a/trunk/drivers/acpi/ec.c +++ b/trunk/drivers/acpi/ec.c @@ -213,7 +213,7 @@ static int acpi_ec_intr_wait(union acpi_ec *ec, unsigned int event) switch (event) { case ACPI_EC_EVENT_IBE: - if (~acpi_ec_read_status(ec) & event) { + if (~acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) { ec->intr.expect_event = 0; return 0; } @@ -782,12 +782,15 @@ static u32 acpi_ec_gpe_intr_handler(void *data) case ACPI_EC_EVENT_OBF: if (!(value & ACPI_EC_FLAG_OBF)) break; + ec->intr.expect_event = 0; + wake_up(&ec->intr.wait); + break; case ACPI_EC_EVENT_IBE: if ((value & ACPI_EC_FLAG_IBF)) break; ec->intr.expect_event = 0; wake_up(&ec->intr.wait); - return ACPI_INTERRUPT_HANDLED; + break; default: break; }