lkml.org 
[lkml]   [2011]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/urgent] x86, ioapic: Restore ioapic entries during resume properly
    Commit-ID:  2f344d2e51888785be551a756d8a8aa58269aaa8
    Gitweb: http://git.kernel.org/tip/2f344d2e51888785be551a756d8a8aa58269aaa8
    Author: Suresh Siddha <suresh.b.siddha@intel.com>
    AuthorDate: Tue, 24 May 2011 10:45:31 -0700
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Tue, 24 May 2011 20:32:41 +0200

    x86, ioapic: Restore ioapic entries during resume properly

    In mask/restore_ioapic_entries() we should be restoring ioapic
    entries when ioapics[apic].saved_registers is not NULL.

    Fix the typo and address the resume hang regression reported by
    Linus.

    This was not found sooner because the systems where these
    changes were tested on kept the IO-APIC entries intact over
    resume.

    Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
    Cc: Daniel J Blueman <daniel.blueman@gmail.com>
    Link: http://lkml.kernel.org/r/1306259131.7171.7.camel@sbsiddha-MOBL3.sc.intel.com
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    arch/x86/kernel/apic/io_apic.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
    index 9488dcf..e529339 100644
    --- a/arch/x86/kernel/apic/io_apic.c
    +++ b/arch/x86/kernel/apic/io_apic.c
    @@ -676,7 +676,7 @@ void mask_ioapic_entries(void)
    int apic, pin;

    for (apic = 0; apic < nr_ioapics; apic++) {
    - if (ioapics[apic].saved_registers)
    + if (!ioapics[apic].saved_registers)
    continue;

    for (pin = 0; pin < ioapics[apic].nr_registers; pin++) {
    @@ -699,7 +699,7 @@ int restore_ioapic_entries(void)
    int apic, pin;

    for (apic = 0; apic < nr_ioapics; apic++) {
    - if (ioapics[apic].saved_registers)
    + if (!ioapics[apic].saved_registers)
    continue;

    for (pin = 0; pin < ioapics[apic].nr_registers; pin++)

    \
     
     \ /
      Last update: 2011-05-24 21:27    [W:0.024 / U:62.312 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site