OSDN Git Service

drm: Skip drm_mode_config_validate() for !modeset
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 18 Mar 2020 18:25:18 +0000 (20:25 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 18 Mar 2020 18:37:22 +0000 (20:37 +0200)
drm_mode_config_init() may not have been called when the driver/device
doesn't support modeset. That will cause drm_mode_config_validate()
to oops. Skip the validation for !modeset.

TODO: We may want to consider calling drm_mode_config_init()
unconditionally to avoid similar issues elsewhere...

Fixes: 74d2aacbe840 ("drm: Validate encoder->possible_clones")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200318182518.31618-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/drm_mode_config.c

index 55322d7..e1ec1bb 100644 (file)
@@ -608,6 +608,9 @@ void drm_mode_config_validate(struct drm_device *dev)
 {
        struct drm_encoder *encoder;
 
+       if (!drm_core_check_feature(dev, DRIVER_MODESET))
+               return;
+
        drm_for_each_encoder(encoder, dev)
                fixup_encoder_possible_clones(encoder);