OSDN Git Service

drm: simplify master cleanup
authorDavid Herrmann <dh.herrmann@gmail.com>
Mon, 4 May 2015 14:05:14 +0000 (16:05 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 5 May 2015 07:46:38 +0000 (09:46 +0200)
In drm_master_destroy() we _free_ the master object. There is no reason to
hold any locks while dropping its static members, nor do we have to reset
it to 0.

Furthermore, kfree() already does NULL checks, so call it directly on
master->unique and drop the redundant reset-code.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_drv.c

index 88b594c..3b3c4f5 100644 (file)
@@ -132,15 +132,10 @@ static void drm_master_destroy(struct kref *kref)
                        r_list = NULL;
                }
        }
-
-       if (master->unique) {
-               kfree(master->unique);
-               master->unique = NULL;
-               master->unique_len = 0;
-       }
        mutex_unlock(&dev->struct_mutex);
 
        idr_destroy(&master->magic_map);
+       kfree(master->unique);
        kfree(master);
 }