13 Jan, 2012

1 commit


02 Dec, 2011

1 commit


08 Nov, 2011

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    cpuidle: Single/Global registration of idle states
    cpuidle: Split cpuidle_state structure and move per-cpu statistics fields
    cpuidle: Remove CPUIDLE_FLAG_IGNORE and dev->prepare()
    cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state
    ACPI: Fix CONFIG_ACPI_DOCK=n compiler warning
    ACPI: Export FADT pm_profile integer value to userspace
    thermal: Prevent polling from happening during system suspend
    ACPI: Drop ACPI_NO_HARDWARE_INIT
    ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast()
    PNPACPI: Simplify disabled resource registration
    ACPI: Fix possible recursive locking in hwregs.c
    ACPI: use kstrdup()
    mrst pmu: update comment
    tools/power turbostat: less verbose debugging

    Linus Torvalds
     

07 Nov, 2011

1 commit

  • Calling pm-suspend might trigger a recursive lock in it's code path.
    In function acpi_hw_clear_acpi_status, acpi_os_acquire_lock holds
    the lock acpi_gbl_hardware_lock before calling acpi_hw_register_write(),
    then without releasing acpi_gbl_hardware_lock, this function calls
    acpi_ev_walk_gpe_list, which tries to hold acpi_gbl_gpe_lock.
    Both acpi_gbl_hardware_lock and acpi_gbl_gpe_lock are at same
    lock-class and which might cause lock recursion deadlock.

    Following patch fixes this scenario by just releasing
    acpi_gbl_hardware_lock before calling acpi_ev_walk_gpe_list.

    Changes since v0(https://lkml.org/lkml/2011/9/21/355):
    - Fix changelog, thanks to Lin Ming.

    Changes since v1 (https://lkml.org/lkml/2011/11/3/89):
    - Update changelog and rename goto label, courtesy Srivatsa S. Bhat.

    Signed-off-by: Rakib Mullick
    Reviewed-by: Srivatsa S. Bhat
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rakib Mullick
     

01 Nov, 2011

2 commits


30 Aug, 2011

1 commit


14 Jul, 2011

4 commits


30 May, 2011

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI EC: remove redundant code
    ACPI: Add D3 cold state
    ACPI: processor: fix processor_physically_present in UP kernel
    ACPI: Split out custom_method functionality into an own driver
    ACPI: Cleanup custom_method debug stuff
    ACPI EC: enable MSI workaround for Quanta laptops
    ACPICA: Update to version 20110413
    ACPICA: Execute an orphan _REG method under the EC device
    ACPICA: Move ACPI_NUM_PREDEFINED_REGIONS to a more appropriate place
    ACPICA: Update internal address SpaceID for DataTable regions
    ACPICA: Add more methods eligible for NULL package element removal
    ACPICA: Split all internal Global Lock functions to new file - evglock
    ACPI: EC: add another DMI check for ASUS hardware
    ACPI EC: remove dead code
    ACPICA: Fix code divergence of global lock handling
    ACPICA: Use acpi_os_create_lock interface
    ACPI: osl, add acpi_os_create_lock interface
    ACPI:Fix goto flows in thermal-sys

    Linus Torvalds
     

29 May, 2011

1 commit


10 May, 2011

6 commits


25 Mar, 2011

2 commits

  • Commit 9cd0314(ACPI / ACPICA: Fix global lock acquisition) was backported
    into ACPICA code base, and some divergence was introduced.

    This patch fixed it,
    - rename acpi_ev_global_lock_pending/acpi_ev_global_lock_pending_lock
    to acpi_gbl_global_lock_pending/acpi_gbl_global_lock_pending_lock.

    - move the initialization of acpi_gbl_global_lock_pending_lock from
    acpi_ut_mutex_initialize to acpi_ev_init_global_lock_handler.

    Signed-off-by: Lin Ming
    Reviewed-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Lin Ming
     
  • Replace spin_lock_init with acpi_os_create_lock.

    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     

23 Mar, 2011

2 commits


19 Mar, 2011

1 commit


03 Mar, 2011

7 commits


25 Feb, 2011

1 commit

  • Commit bba63a2 (ACPICA: Implicit notify support) introduced a
    mechanism that causes a notify request of type
    ACPI_NOTIFY_DEVICE_WAKE to be queued automatically by
    acpi_ev_asynch_execute_gpe_method() for the device whose _PRW points
    to the GPE being handled if that GPE is not associated with an
    _Lxx/_Exx method. However, it turns out that on some systems there
    are multiple devices with _PRW pointing to the same GPE without
    _Lxx/_Exx and the mechanism introduced by commit bba63a2 needs to be
    extended so that "implicit" notify requests of type
    ACPI_NOTIFY_DEVICE_WAKE can be queued automatically for all those
    devices at the same time.

    Reported-and-tested-by: Matthew Garrett
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

12 Feb, 2011

1 commit

  • Some ACPI BIOSes define _PRW for the root object which causes
    acpi_setup_gpe_for_wake() to crash when trying to dereference the
    bogus device_node pointer. Avoid the crash by checking if
    wake_device is not the root object before attempting to set up the
    "implicit notify" mechanism for it.

    The problem was introduced by commit bba63a296ffab20e08d9e8252d2f0d99
    (ACPICA: Implicit notify support) that added the wake_device argument
    to acpi_setup_gpe_for_wake().

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

21 Jan, 2011

1 commit


19 Jan, 2011

5 commits

  • Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • History: This support changes a method to "serialized" on the fly if the
    method generates an AE_ALREADY_EXISTS error, indicating the possibility
    that it cannot handle reentrancy.

    This fix repairs a couple of issues seen in the field, especially on
    machines with many cores.

    1) Delete method children only upon the exit of the last thread, so
    as to not delete objects out from under running threads.

    2) Set the "serialized" bit for the method only upon the exit of the
    last thread, so as to not cause deadlock when running threads attempt
    to exit.

    3) Cleanup the use of the AML "MethodFlags" and internal method flags
    so that there is no longer any confustion between the two.

    Reported-by: Dana Myers
    Signed-off-by: Lin Ming
    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Lin Ming
     
  • Prevents issues if the namespace is changing underneath the
    debugger. Especially temporary nodes, since the debugger displays
    these also.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Reviewed-by: Rafael Wysocki
    Signed-off-by: Len Brown

    Bob Moore
     
  • Fixes a race condition between method execution and namespace
    walks that can possibly fault. Problem was apparently introduced
    in version 20100528 as a result of a performance optimization
    that reduces the number of namespace walks upon method exit
    by using the delete_namespace_subtree function instead of the
    delete_namespace_by_owner function used previously. Bug is in
    the delete_namespace_subtree function.

    Signed-off-by: Dana Myers
    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Reviewed-by: Rafael Wysocki
    Signed-off-by: Len Brown

    Dana Myers
     
  • We will leak the memory allocated to 'local_gpe_event_info' if
    'acpi_ut_acquire_mutex()' fails or if 'acpi_ev_valid_gpe_event()' fails in
    drivers/acpi/acpica/evgpe.c::acpi_ev_asynch_execute_gpe_method().

    Signed-off-by: Jesper Juhl
    Reviewed-by: Rafael Wysocki
    Signed-off-by: Len Brown

    Jesper Juhl
     

15 Jan, 2011

1 commit