diff options
Diffstat (limited to 'drivers/acpi/ec.c')
-rw-r--r-- | drivers/acpi/ec.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index 8e665f2e313..fca4140a50a 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -170,22 +170,19 @@ acpi_ec_enter_burst_mode ( status = acpi_ec_read_status(ec); if (status != -EINVAL && !(status & ACPI_EC_FLAG_BURST)){ - ACPI_DEBUG_PRINT((ACPI_DB_INFO,"entering burst mode \n")); acpi_hw_low_level_write(8, ACPI_EC_BURST_ENABLE, &ec->command_addr); status = acpi_ec_wait(ec, ACPI_EC_EVENT_OBF); if (status){ acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); - ACPI_DEBUG_PRINT((ACPI_DB_ERROR," status = %d\n", status)); return_VALUE(-EINVAL); } acpi_hw_low_level_read(8, &tmp, &ec->data_addr); acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); if(tmp != 0x90 ) {/* Burst ACK byte*/ - ACPI_DEBUG_PRINT((ACPI_DB_ERROR,"Ack failed \n")); return_VALUE(-EINVAL); } - } else - ACPI_DEBUG_PRINT((ACPI_DB_INFO,"already be in burst mode \n")); + } + atomic_set(&ec->leaving_burst , 0); return_VALUE(0); } @@ -202,7 +199,6 @@ acpi_ec_leave_burst_mode ( status = acpi_ec_read_status(ec); if (status != -EINVAL && (status & ACPI_EC_FLAG_BURST)){ - ACPI_DEBUG_PRINT((ACPI_DB_INFO,"leaving burst mode\n")); acpi_hw_low_level_write(8, ACPI_EC_BURST_DISABLE, &ec->command_addr); status = acpi_ec_wait(ec, ACPI_EC_FLAG_IBF); if (status){ @@ -212,14 +208,7 @@ acpi_ec_leave_burst_mode ( } acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); status = acpi_ec_read_status(ec); - if (status != -EINVAL && - (status & ACPI_EC_FLAG_BURST)) { - ACPI_DEBUG_PRINT((ACPI_DB_ERROR,"------->status fail\n")); - return_VALUE(-EINVAL); - } - }else - ACPI_DEBUG_PRINT((ACPI_DB_INFO,"already be in Non-burst mode \n")); - ACPI_DEBUG_PRINT((ACPI_DB_INFO,"leaving burst mode\n")); + } return_VALUE(0); } |