[PATCH] drm: check for !kdev in drm_unplug_minor()

Daniel Vetter daniel at ffwll.ch
Thu Nov 14 00:52:14 PST 2013


On Wed, Nov 13, 2013 at 11:42:26AM +0100, David Herrmann wrote:
> We moved minor deallocation to drm_dev_free() in:
>   commit 8f6599da8e772fa8de54cdf98e9e03cbaf3946da
>   Author: David Herrmann <dh.herrmann at gmail.com>
>   Date:   Sun Oct 20 18:55:45 2013 +0200
> 
>       drm: delay minor destruction to drm_dev_free()
> 
> However, this causes a call to drm_unplug_minor(), which should just do
> nothing as drm_dev_unregister() already called this.
> 
> But a separate patch caused kdev lifetime changes:
>   commit 5bdebb183c9702a8c57a01dff09337be3de337a6
>   Author: Dave Airlie <airlied at redhat.com>
>   Date:   Fri Oct 11 14:07:25 2013 +1000
> 
>       drm/sysfs: sort out minor and connector device object lifetimes.
> 
> Thus making our dev_is_registered() call useles (and even segfault if it
> is NULL). Replace it with a simple !kdev test and we're fine.
> 
> Reported-by: Huax Lu <huax.lu at intel.com>
> Reported-by: Daniel Vetter <daniel at ffwll.ch>
> Signed-off-by: David Herrmann <dh.herrmann at gmail.com>

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71208
Tested-by: lu hua <huax.lu at intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>


> ---
>  drivers/gpu/drm/drm_stub.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
> index c200136..f53d524 100644
> --- a/drivers/gpu/drm/drm_stub.c
> +++ b/drivers/gpu/drm/drm_stub.c
> @@ -338,7 +338,7 @@ err_idr:
>   */
>  static void drm_unplug_minor(struct drm_minor *minor)
>  {
> -	if (!minor || !device_is_registered(minor->kdev))
> +	if (!minor || !minor->kdev)
>  		return;
>  
>  #if defined(CONFIG_DEBUG_FS)
> -- 
> 1.8.4.2
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list