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 50c1e1138c
'ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead.'
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
cc7feea39b
commit
e6e82a3087
|
@ -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,"
|
||||
|
|
Loading…
Reference in New Issue