summaryrefslogtreecommitdiff
path: root/linux-core/drm_irq.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-03-07 12:15:38 +1100
committerDave Airlie <airlied@redhat.com>2008-03-07 12:15:38 +1100
commit47b7ec71fefc2574293c48172c563f549c31f87a (patch)
treef06ab14b2c8b9491d5156285dca55327ac00715c /linux-core/drm_irq.c
parentf96baf1e1ec10768ea2027f75ebaef46f7d7f30a (diff)
drm/modesetting: fixup irq removal on exit
Diffstat (limited to 'linux-core/drm_irq.c')
-rw-r--r--linux-core/drm_irq.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/linux-core/drm_irq.c b/linux-core/drm_irq.c
index 7dddbe19..6b740b18 100644
--- a/linux-core/drm_irq.c
+++ b/linux-core/drm_irq.c
@@ -261,9 +261,6 @@ int drm_irq_uninstall(struct drm_device * dev)
if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
return -EINVAL;
- if (drm_core_check_feature(dev, DRIVER_MODESET))
- return 0;
-
mutex_lock(&dev->struct_mutex);
irq_enabled = dev->irq_enabled;
dev->irq_enabled = 0;
@@ -318,6 +315,8 @@ int drm_control(struct drm_device *dev, void *data,
case DRM_UNINST_HANDLER:
if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
return 0;
+ if (drm_core_check_feature(dev, DRIVER_MODESET))
+ return 0;
return drm_irq_uninstall(dev);
default:
return -EINVAL;