Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6e82a30 authored by Alexey Starikovskiy's avatar Alexey Starikovskiy Committed by Len Brown
Browse files

ACPI: EC: Restore udelay in poll mode



This fixes keyboard event handling on some systems.

Note that this delay was thought unnecessary, and removed
from linux-2.6.20 with 50c1e113
'ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead.'

Signed-off-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent cc7feea3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ enum ec_event {

#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	/* Wait 100us before polling EC again */

enum {
	EC_FLAGS_WAIT_GPE = 0,		/* Don't check status until GPE arrives */
@@ -227,6 +228,7 @@ static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll)
		while (time_before(jiffies, delay)) {
			if (acpi_ec_check_status(ec, event))
				goto end;
			udelay(ACPI_EC_UDELAY);
		}
	}
	pr_err(PREFIX "acpi_ec_wait timeout,"