• Rafael J. Wysocki's avatar
    PM / yenta: Fix cardbus suspend/resume regression · 0c570cde
    Rafael J. Wysocki authored
    Since 2.6.29 the PCI PM core have been restoring the standard
    configuration registers of PCI devices in the early phase of
    resume.  In particular, PCI devices without drivers have been handled
    this way since commit 355a72d7
    (PCI: Rework default handling of suspend and resume).  Unfortunately,
    this leads to post-resume problems with CardBus devices which cannot
    be accessed in the early phase of resume, because the sockets they
    are on have not been woken up yet at that point.
    
    To solve this problem, move the yenta socket resume to the early
    phase of resume and, analogously, move the suspend of it to the late
    phase of suspend.  Additionally, remove some unnecessary PCI code
    from the yenta socket's resume routine.
    
    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13092, which is a
    post-2.6.28 regression.
    Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Reported-by: default avatarFlorian <fs-kernelbugzilla@spline.de>
    Cc: stable@kernel.org
    0c570cde
yenta_socket.c 39.1 KB