diff -ur kernel/nvidia-drm/nvidia-drm-drv.c kernel-patched/nvidia-drm/nvidia-drm-drv.c --- kernel/nvidia-drm/nvidia-drm-drv.c 2016-08-09 02:43:19.000000000 +0300 +++ kernel-patched/nvidia-drm/nvidia-drm-drv.c 2016-08-26 20:14:29.109937200 +0300 @@ -37,6 +37,7 @@ #include "nvidia-drm-ioctl.h" #include +#include #include @@ -424,7 +425,7 @@ static void nvidia_drm_master_drop(struct drm_device *dev, - struct drm_file *file_priv, bool from_release) + struct drm_file *file_priv) { struct nvidia_drm_device *nv_dev = dev->dev_private; int ret; @@ -457,7 +458,7 @@ mutex_lock(&dev->master_mutex); if (!file_priv->is_master || - !file_priv->minor->master) + !file_priv->master) { goto done; } @@ -478,7 +479,7 @@ * NVKMS modeset ownership, because nvidia_drm_master_set()'s call to * grabOwnership() will fail. */ - drm_master_put(&file_priv->minor->master); + drm_master_put(&file_priv->master); file_priv->is_master = 0; ret = 0; diff -ur kernel/nvidia-drm/nvidia-drm-modeset.c kernel-patched/nvidia-drm/nvidia-drm-modeset.c --- kernel/nvidia-drm/nvidia-drm-modeset.c 2016-08-09 02:43:19.000000000 +0300 +++ kernel-patched/nvidia-drm/nvidia-drm-modeset.c 2016-08-26 20:14:29.113947800 +0300 @@ -675,7 +675,7 @@ goto failed; } - drm_atomic_helper_swap_state(dev, state); + drm_atomic_helper_swap_state(state, true); nvidia_drm_update_head_mode_config(state, requested_config);