• Linus Torvalds's avatar
    i915: fix intel graphics suspend breakage due to resume/lid event confusion · c9354c85
    Linus Torvalds authored
    In commit c1c7af60 ("drm/i915: force
    mode set at lid open time") the intel graphics driver was taught to
    restore the LVDS mode on lid open.
    
    That caused problems with interaction with the suspend/resume code,
    which commonly runs at the same time (suspend is often caused by the lid
    close event, while lid open is commonly a resume event), which was
    worked around with in commit 06891e27
    ("drm/i915: fix suspend/resume breakage in lid notifier").
    
    However, in the meantime the lid event code had also grown a user event
    notifier (commit 06324194: "drm/i915:
    generate a KMS uevent at lid open/close time"), and now _that_ causes
    problems with suspend/resume and some versions of Xorg reacting to those
    uevents by setting the mode.
    
    So this effectively reverts that commit 06324194, and makes the lid
    open protection logic against suspend/resume more explicit.  This fixes
    at least one laptop. See
    
    	http://bugzilla.kernel.org/show_bug.cgi?id=14484
    
    for more details.
    Acked-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Cc: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
    Cc: Eric Anholt <eric@anholt.net>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c9354c85
intel_lvds.c 31.1 KB