From a2cc8f993b61e4ea25a6eb1789f0bf009400a22a Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Thu, 25 Jun 2009 16:17:07 +0000 Subject: [PATCH] Initialize max_vblank_count earlier. Small cleanup of the error paths while I'm here. MFC after: 3 days --- sys/dev/drm/radeon_cp.c | 18 ++++++++++++------ sys/dev/drm/radeon_irq.c | 2 -- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/sys/dev/drm/radeon_cp.c b/sys/dev/drm/radeon_cp.c index 8f723cea06c..3d8cf9dfecc 100644 --- a/sys/dev/drm/radeon_cp.c +++ b/sys/dev/drm/radeon_cp.c @@ -2064,16 +2064,22 @@ int radeon_driver_load(struct drm_device *dev, unsigned long flags) drm_get_resource_len(dev, 2), _DRM_REGISTERS, _DRM_READ_ONLY | _DRM_DRIVER, &dev_priv->mmio); if (ret != 0) - return ret; + goto error; ret = drm_vblank_init(dev, 2); - if (ret) { - radeon_driver_unload(dev); - return ret; - } + if (ret != 0) + goto error; + + dev->max_vblank_count = 0x001fffff; DRM_DEBUG("%s card detected\n", - ((dev_priv->flags & RADEON_IS_AGP) ? "AGP" : (((dev_priv->flags & RADEON_IS_PCIE) ? "PCIE" : "PCI")))); + ((dev_priv->flags & RADEON_IS_AGP) ? "AGP" : + (((dev_priv->flags & RADEON_IS_PCIE) ? "PCIE" : "PCI")))); + + return ret; + +error: + radeon_driver_unload(dev); return ret; } diff --git a/sys/dev/drm/radeon_irq.c b/sys/dev/drm/radeon_irq.c index ce301eb0676..7f605739679 100644 --- a/sys/dev/drm/radeon_irq.c +++ b/sys/dev/drm/radeon_irq.c @@ -380,8 +380,6 @@ int radeon_driver_irq_postinstall(struct drm_device * dev) atomic_set(&dev_priv->swi_emitted, 0); DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); - dev->max_vblank_count = 0x001fffff; - radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1); return 0;