diff mbox

[05/35] drm: Push struct_mutex into ->master_destroy

Message ID 1461691808-12414-6-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter April 26, 2016, 5:29 p.m. UTC
Only two drivers implement this hook. vmwgfx (which doesn't need it
really) and legacy radeon (which since v1 has been nuked, yay).

v1: Rebase over radeon ums removal.

Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chris Wilson April 26, 2016, 8:54 p.m. UTC | #1
On Tue, Apr 26, 2016 at 07:29:38PM +0200, Daniel Vetter wrote:
> Only two drivers implement this hook. vmwgfx (which doesn't need it
> really) and legacy radeon (which since v1 has been nuked, yay).
> 
> v1: Rebase over radeon ums removal.
> 
> Cc: Thomas Hellstrom <thellstrom@vmware.com>
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
Alex Deucher April 26, 2016, 9:36 p.m. UTC | #2
On Tue, Apr 26, 2016 at 1:29 PM, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Only two drivers implement this hook. vmwgfx (which doesn't need it
> really) and legacy radeon (which since v1 has been nuked, yay).
>
> v1: Rebase over radeon ums removal.
>
> Cc: Thomas Hellstrom <thellstrom@vmware.com>
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/drm_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index f8a7a6e66b7e..55273f8f3acb 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -123,10 +123,10 @@ static void drm_master_destroy(struct kref *kref)
>         struct drm_device *dev = master->minor->dev;
>         struct drm_map_list *r_list, *list_temp;
>
> -       mutex_lock(&dev->struct_mutex);
>         if (dev->driver->master_destroy)
>                 dev->driver->master_destroy(dev, master);
>
> +       mutex_lock(&dev->struct_mutex);
>         list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) {
>                 if (r_list->master == master) {
>                         drm_legacy_rmmap_locked(dev, r_list->map);
> --
> 2.8.1
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index f8a7a6e66b7e..55273f8f3acb 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -123,10 +123,10 @@  static void drm_master_destroy(struct kref *kref)
 	struct drm_device *dev = master->minor->dev;
 	struct drm_map_list *r_list, *list_temp;
 
-	mutex_lock(&dev->struct_mutex);
 	if (dev->driver->master_destroy)
 		dev->driver->master_destroy(dev, master);
 
+	mutex_lock(&dev->struct_mutex);
 	list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) {
 		if (r_list->master == master) {
 			drm_legacy_rmmap_locked(dev, r_list->map);