Message ID | 20200318182518.31618-1-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Skip drm_mode_config_validate() for !modeset | expand |
Quoting Ville Syrjala (2020-03-18 18:25:18) > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > 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> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris
On Wed, Mar 18, 2020 at 06:31:16PM +0000, Chris Wilson wrote: > Quoting Ville Syrjala (2020-03-18 18:25:18) > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > 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> > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Thanks. Looks like this gets BAT up and running again so pushing w/o waiting for shards. Sorry about the mess everyone. CI had turned a blind eye on the regressing series and I didn't notice that fact. I need to adjust my brain regex to look for *all* CI mails, not just the failures.
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c index 55322d7048f5..e1ec1bb7068d 100644 --- a/drivers/gpu/drm/drm_mode_config.c +++ b/drivers/gpu/drm/drm_mode_config.c @@ -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);