• Daniel Vetter's avatar
    drm: Handle ->disable_plane failures correctly · 731cce48
    Daniel Vetter authored
    The ->disable_plane hook always had a return value, but only since the
    introduction of primary planes was there any implementation that
    actually failed.
    
    So handle such failures correctly.
    
    Note that drm_plane_force_disable is special: In the modeset cleanup
    case we first disable all crtc, so primary planes should all be freed
    already. And in the fb helper we only reset non-primary planes. Still
    better be paranoid and add an early return.
    
    I don't see how this could happen, but it might fix the fb refcount
    underrun Thierry is seeing. Matt Roper spotted this issue.
    
    Cc: Thierry Reding <treding@nvidia.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    731cce48
drm_crtc.c 124 KB