ACPI: EC: Don't expect interrupt after last read
authorAlexey Starikovskiy <astarikovskiy@suse.de>
Mon, 22 Oct 2007 10:18:36 +0000 (14:18 +0400)
committerLen Brown <len.brown@intel.com>
Thu, 25 Oct 2007 20:31:31 +0000 (16:31 -0400)
There is no interrupt after last read according to spec, so
don't set bit that we are expecting one.

Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/ec.c

index 08fbe62a2db466f87b1e3adca37a2924625e2d9d..5ce90ce22b5849b211e13086fd71fb892aee4a8d 100644 (file)
@@ -228,7 +228,9 @@ static int acpi_ec_transaction_unlocked(struct acpi_ec *ec, u8 command,
                               command);
                        goto end;
                }
-               set_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
+               /* Don't expect GPE after last read */
+               if (rdata_len > 1)
+                       set_bit(EC_FLAGS_WAIT_GPE, &ec->flags);
                *(rdata++) = acpi_ec_read_data(ec);
        }
       end: