From: José Roberto de Souza Date: Tue, 18 Sep 2018 17:48:09 +0000 (-0700) Subject: drm: Return -EOPNOTSUPP in drm_setclientcap() when driver do not support KMS X-Git-Tag: v4.20-rc1~81^2~20^2~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=adbc8208e6620ddfa10fd863cb0a4ec0c54d8625;p=thirdparty%2Fkernel%2Flinux.git drm: Return -EOPNOTSUPP in drm_setclientcap() when driver do not support KMS All DRM_CLIENT capabilities are tied to KMS support, so returning -EOPNOTSUPP when KMS is not supported. v2: returning -EOPNOTSUPP(same value as posix ENOTSUP and available in uapi) instead of -ENOTSUPP v3: adding comments about the feature requirement about capabilities Cc: Chris Wilson Signed-off-by: José Roberto de Souza Signed-off-by: Daniel Vetter Link: https://patchwork.freedesktop.org/patch/msgid/20180918174809.17123-1-jose.souza@intel.com --- diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c index 60dfbfae6a02b..94bd872d56c48 100644 --- a/drivers/gpu/drm/drm_ioctl.c +++ b/drivers/gpu/drm/drm_ioctl.c @@ -306,6 +306,12 @@ drm_setclientcap(struct drm_device *dev, void *data, struct drm_file *file_priv) { struct drm_set_client_cap *req = data; + /* No render-only settable capabilities for now */ + + /* Below caps that only works with KMS drivers */ + if (!drm_core_check_feature(dev, DRIVER_MODESET)) + return -EOPNOTSUPP; + switch (req->capability) { case DRM_CLIENT_CAP_STEREO_3D: if (req->value > 1)