The drm_file pointer clears to zero during multi-user switching, so it needs to call drm_new_set_master for master pointer from drm_file. Signed-off-by: Qiang Ma <maqianga@xxxxxxxxxxxxx> --- drivers/gpu/drm/drm_auth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c index f2d46b7ac6f9..02431af6d0c5 100644 --- a/drivers/gpu/drm/drm_auth.c +++ b/drivers/gpu/drm/drm_auth.c @@ -302,7 +302,7 @@ int drm_master_open(struct drm_file *file_priv) /* if there is no current master make this fd it, but do not create * any master object for render clients */ mutex_lock(&dev->master_mutex); - if (!dev->master) + if (!file_priv->master) ret = drm_new_set_master(dev, file_priv); else file_priv->master = drm_master_get(dev->master); -- 2.20.1