From 4c7dea6659acee8bb22876760d30465e706f8bee Mon Sep 17 00:00:00 2001 From: Alexey Starikovskiy Date: Thu, 7 Dec 2006 18:42:17 +0300 Subject: [PATCH] --- yaml --- r: 44941 b: refs/heads/master c: 50c1e1138cb94f6aca0f8555777edbcefe0324e2 h: refs/heads/master i: 44939: 8290a1e1d3004549d2ba79fb714fe36d51e0c6d9 v: v3 --- [refs] | 2 +- trunk/drivers/acpi/ec.c | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 0a479cfd9f48..8e9528cd4d7d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a86e277259b08be0f00cfcb182922da3ffc50f04 +refs/heads/master: 50c1e1138cb94f6aca0f8555777edbcefe0324e2 diff --git a/trunk/drivers/acpi/ec.c b/trunk/drivers/acpi/ec.c index 722acafdf32e..8ef74e7b3b91 100644 --- a/trunk/drivers/acpi/ec.c +++ b/trunk/drivers/acpi/ec.c @@ -70,8 +70,6 @@ enum { #define ACPI_EC_DELAY 500 /* Wait 500ms max. during EC ops */ #define ACPI_EC_UDELAY_GLK 1000 /* Wait 1ms max. to get global lock */ -#define ACPI_EC_UDELAY 100 /* Poll @ 100us increments */ -#define ACPI_EC_UDELAY_COUNT 1000 /* Wait 100ms max. during EC ops */ enum { EC_INTR = 1, /* Output buffer full */ @@ -159,11 +157,10 @@ static int acpi_ec_check_status(struct acpi_ec *ec, u8 event) static int acpi_ec_wait(struct acpi_ec *ec, u8 event) { if (acpi_ec_mode == EC_POLL) { - int i; - for (i = 0; i < ACPI_EC_UDELAY_COUNT; ++i) { + unsigned long delay = jiffies + msecs_to_jiffies(ACPI_EC_DELAY); + while (time_before(jiffies, delay)) { if (acpi_ec_check_status(ec, event)) return 0; - udelay(ACPI_EC_UDELAY); } } else { if (wait_event_timeout(ec->wait,