• Rafael J. Wysocki's avatar
    ACPI: EC: Call advance_transaction() from acpi_ec_dispatch_gpe() · ca8283dc
    Rafael J. Wysocki authored
    Calling acpi_dispatch_gpe() from acpi_ec_dispatch_gpe() is generally
    problematic, because it may cause the spurious interrupt handling in
    advance_transaction() to trigger in theory.
    
    However, instead of calling acpi_dispatch_gpe() to dispatch the EC
    GPE, acpi_ec_dispatch_gpe() can call advance_transaction() directly
    on first_ec and it can pass 'false' as its second argument to indicate
    calling it from process context.
    
    Moreover, if advance_transaction() is modified to return a bool value
    indicating whether or not the EC work needs to be flushed, it can be
    used to avoid unnecessary EC work flushing in acpi_ec_dispatch_gpe(),
    so change the code accordingly.
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    ca8283dc
ec.c 59.4 KB