drm/sis: track user->memblock mapping with idr
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c
index 6ad0b85..64d329f 100644
--- a/drivers/gpu/drm/sis/sis_drv.c
+++ b/drivers/gpu/drm/sis/sis_drv.c
@@ -48,6 +48,7 @@
dev->dev_private = (void *)dev_priv;
dev_priv->chipset = chipset;
+ idr_init(&dev->object_name_idr);
ret = drm_sman_init(&dev_priv->sman, 2, 12, 8);
if (ret)
kfree(dev_priv);
@@ -60,6 +61,9 @@
drm_sis_private_t *dev_priv = dev->dev_private;
drm_sman_takedown(&dev_priv->sman);
+ idr_remove_all(&dev_priv->object_idr);
+ idr_destroy(&dev_priv->object_idr);
+
kfree(dev_priv);
return 0;