From f4faf63d514f84a168ba3301be2bf39c15088047 Mon Sep 17 00:00:00 2001 From: Vladimir Lebedev Date: Tue, 20 Jun 2006 16:46:00 -0400 Subject: [PATCH] --- yaml --- r: 31444 b: refs/heads/master c: 49fee981fa98f3c0a21f3d6c8193eddcc15e84e9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/acpi/ec.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 1dc5616bca64..aad3cb8609ca 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 95b38b3f453c16de0f8cddcde3e71050bbfb37b9 +refs/heads/master: 49fee981fa98f3c0a21f3d6c8193eddcc15e84e9 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; }