diff options
| -rw-r--r-- | drivers/acpi/ec.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index d45b2871d33b..edc00818c803 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c | |||
| @@ -223,7 +223,7 @@ static int ec_check_sci_sync(struct acpi_ec *ec, u8 state) | |||
| 223 | static int ec_poll(struct acpi_ec *ec) | 223 | static int ec_poll(struct acpi_ec *ec) |
| 224 | { | 224 | { |
| 225 | unsigned long flags; | 225 | unsigned long flags; |
| 226 | int repeat = 2; /* number of command restarts */ | 226 | int repeat = 5; /* number of command restarts */ |
| 227 | while (repeat--) { | 227 | while (repeat--) { |
| 228 | unsigned long delay = jiffies + | 228 | unsigned long delay = jiffies + |
| 229 | msecs_to_jiffies(ec_delay); | 229 | msecs_to_jiffies(ec_delay); |
| @@ -241,8 +241,6 @@ static int ec_poll(struct acpi_ec *ec) | |||
| 241 | } | 241 | } |
| 242 | advance_transaction(ec, acpi_ec_read_status(ec)); | 242 | advance_transaction(ec, acpi_ec_read_status(ec)); |
| 243 | } while (time_before(jiffies, delay)); | 243 | } while (time_before(jiffies, delay)); |
| 244 | if (acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) | ||
| 245 | break; | ||
| 246 | pr_debug(PREFIX "controller reset, restart transaction\n"); | 244 | pr_debug(PREFIX "controller reset, restart transaction\n"); |
| 247 | spin_lock_irqsave(&ec->lock, flags); | 245 | spin_lock_irqsave(&ec->lock, flags); |
| 248 | start_transaction(ec); | 246 | start_transaction(ec); |
