diff options
Diffstat (limited to 'shared-core/via_map.c')
-rw-r--r-- | shared-core/via_map.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/shared-core/via_map.c b/shared-core/via_map.c index 54934367..5dee6a70 100644 --- a/shared-core/via_map.c +++ b/shared-core/via_map.c @@ -121,9 +121,19 @@ int via_driver_load(struct drm_device *dev, unsigned long chipset) ret = drm_sman_init(&dev_priv->sman, 2, 12, 8); if (ret) { drm_free(dev_priv, sizeof(*dev_priv), DRM_MEM_DRIVER); + return ret; } #endif - return ret; + + ret = drm_vblank_init(dev, 1); + if (ret) { + drm_sman_takedown(&dev_priv->sman); + drm_free(dev_priv, sizeof(drm_via_private_t), DRM_MEM_DRIVER); + return ret; + } + + return 0; + } int via_driver_unload(struct drm_device *dev) |