• Imre Deak's avatar
    drm/i915: unbind fbs from crtcs during driver unload · 9d661251
    Imre Deak authored
    So far during driver unload we called drm_framebuffer_cleanup() for the
    fbdev fb, which only removes the fb from the drm fb list regardless of
    its reference count, but leaves the fb bound on an active crtc. Since
    the fb's backing storage was freed this could mean we scan some random
    memory content out afterwards. It's not a big issue since the fb is
    allocated from stolen memory and afaik there is no other user for that
    than i915. It's still cleaner to properly unbind the fb and disable the
    crtc, which is what drm_framebuffer_remove() does.
    
    Note that after
    
    commit 88891eb1e9eca0ba619518bed31580f91e9cf84d
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Mon Feb 10 18:00:38 2014 +0100
    
    we call drm_framebuffer_cleanup() only after dropping the last reference
    on the fb, but that won't happen since we don't unbind the fb. This
    results in a drm core warn about a leaked fb.
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    9d661251
intel_fbdev.c 9.51 KB