• Barry K. Nathan's avatar
    [PATCH] swsusp: device power management fix · a20a26f3
    Barry K. Nathan authored
    Since at least kernel 2.6.9, if not earlier, swsusp fails to properly
    suspend and resume all devices.
    
    The most notable effect is that resuming fails to properly reconfigure
    interrupt routers.  In 2.6.9 this was obscured by other kernel code, but in
    2.6.10 this often causes post-resume APIC errors and near-total failure of
    some PCI devices (e.g.  network, sound and USB controllers).
    
    Even in cases where interrupt routing is unaffected, this bug causes other
    problems.  For instance, on one of my systems I have to run "ifdown
    eth0;ifup eth0" after resume in order to have functional networking, if I
    do not apply this patch.
    
    By itself, this patch is not theoretically complete; my next patch fixes
    that.  However, this patch is the critical one for fixing swsusp's behavior
    in the real world.
    Signed-off-by: default avatarBarry K. Nathan <barryn@pobox.com>
    Acked-by: default avatarPavel Machek <pavel@ucw.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    a20a26f3
swsusp.c 29.3 KB