OSDN Git Service

drm/modesetting: fixup irq removal on exit
authorDave Airlie <airlied@redhat.com>
Fri, 7 Mar 2008 01:15:38 +0000 (12:15 +1100)
committerDave Airlie <airlied@redhat.com>
Fri, 7 Mar 2008 01:15:38 +0000 (12:15 +1100)
linux-core/drm_irq.c

index 7dddbe1..6b740b1 100644 (file)
@@ -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;