diff mbox

drm: Fix render node numbering regression from control node removal.

Message ID 20180509001425.12574-1-eric@anholt.net (mailing list archive)
State New, archived
Headers show

Commit Message

Eric Anholt May 9, 2018, 12:14 a.m. UTC
drm_minor_alloc() does multiplication on this enum, so the removal
ended up moving render nodes down from 128 base to 64.  This caused
Mesa's surfaceless backend to be unable to open the render nodes,
since it was still looking up at 128.

Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: 0d49f303e8a7 ("drm: remove all control node code")
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Sean Paul <seanpaul@chromium.org>
---
 include/drm/drm_file.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Daniel Vetter May 12, 2018, 7:45 p.m. UTC | #1
On Tue, May 08, 2018 at 05:14:25PM -0700, Eric Anholt wrote:
> drm_minor_alloc() does multiplication on this enum, so the removal
> ended up moving render nodes down from 128 base to 64.  This caused
> Mesa's surfaceless backend to be unable to open the render nodes,
> since it was still looking up at 128.
> 
> Signed-off-by: Eric Anholt <eric@anholt.net>
> Fixes: 0d49f303e8a7 ("drm: remove all control node code")
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Sean Paul <seanpaul@chromium.org>

Oops.

> ---
>  include/drm/drm_file.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
> index 99ab50cbab00..69b0a8b57502 100644
> --- a/include/drm/drm_file.h
> +++ b/include/drm/drm_file.h
> @@ -49,6 +49,7 @@ struct device;
>  
>  enum drm_minor_type {
>  	DRM_MINOR_PRIMARY,
> +	DRM_MINOR_CONTROL,

Maybe add a comment here why we need this? Either way:

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

>  	DRM_MINOR_RENDER,
>  };
>  
> -- 
> 2.17.0
>
diff mbox

Patch

diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h
index 99ab50cbab00..69b0a8b57502 100644
--- a/include/drm/drm_file.h
+++ b/include/drm/drm_file.h
@@ -49,6 +49,7 @@  struct device;
 
 enum drm_minor_type {
 	DRM_MINOR_PRIMARY,
+	DRM_MINOR_CONTROL,
 	DRM_MINOR_RENDER,
 };