|
@@ -129,7 +129,6 @@ static struct acpi_ec {
|
|
|
struct mutex lock;
|
|
|
wait_queue_head_t wait;
|
|
|
struct list_head list;
|
|
|
- atomic_t irq_count;
|
|
|
u8 handlers_installed;
|
|
|
} *boot_ec, *first_ec;
|
|
|
|
|
@@ -182,8 +181,6 @@ static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll)
|
|
|
{
|
|
|
int ret = 0;
|
|
|
|
|
|
- atomic_set(&ec->irq_count, 0);
|
|
|
-
|
|
|
if (unlikely(event == ACPI_EC_EVENT_OBF_1 &&
|
|
|
test_bit(EC_FLAGS_NO_OBF1_GPE, &ec->flags)))
|
|
|
force_poll = 1;
|
|
@@ -230,7 +227,6 @@ 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;
|
|
|
- msleep(5);
|
|
|
}
|
|
|
}
|
|
|
pr_err(PREFIX "acpi_ec_wait timeout,"
|
|
@@ -533,13 +529,6 @@ static u32 acpi_ec_gpe_handler(void *data)
|
|
|
struct acpi_ec *ec = data;
|
|
|
|
|
|
pr_debug(PREFIX "~~~> interrupt\n");
|
|
|
- atomic_inc(&ec->irq_count);
|
|
|
- if (atomic_read(&ec->irq_count) > 5) {
|
|
|
- pr_err(PREFIX "GPE storm detected, disabling EC GPE\n");
|
|
|
- acpi_disable_gpe(NULL, ec->gpe, ACPI_ISR);
|
|
|
- clear_bit(EC_FLAGS_GPE_MODE, &ec->flags);
|
|
|
- return ACPI_INTERRUPT_HANDLED;
|
|
|
- }
|
|
|
clear_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
|
|
|
if (test_bit(EC_FLAGS_GPE_MODE, &ec->flags))
|
|
|
wake_up(&ec->wait);
|