• Chris Wilson's avatar
    ACPI / battery: Correctly serialise with the pending async probe · 5dfa0c73
    Chris Wilson authored
    async_synchronize_cookie() only serialises all tasks up to the specified
    cookie, and importantly does not wait for the task corresponding with
    the cookie. [This is so that it can be trivially used from inside the
    async_func_t in order to serialise with all preceding tasks.] In order
    to serialise with acpi_battery_init_async() we need to compensate and
    pass in the next cookie instead.
    
    The impact today is zero since performing an async_schedule() from inside
    a module init function will trigger an async_synchronize_full() prior to
    the module loader's completion. However, if the probe was moved to its
    own unregistered async_domain, then the async_synchronize_cookie would
    be replaced with an async_synchronize_full_domain.
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    5dfa0c73
battery.c 38 KB