diff --git a/sys/dev/drm/drm_auth.c b/sys/dev/drm/drm_auth.c index 704f9dc1b5c1..f5f7ae49e45a 100644 --- a/sys/dev/drm/drm_auth.c +++ b/sys/dev/drm/drm_auth.c @@ -110,13 +110,14 @@ static int drm_remove_magic(drm_device_t *dev, drm_magic_t magic) if (prev) { prev->next = pt->next; } + pt->priv->magic = 0; DRM_UNLOCK(); + free(pt, M_DRM); return 0; } } DRM_UNLOCK(); - free(pt, M_DRM); return DRM_ERR(EINVAL); }