drm/i915: Error checks in gen6_set_rps
[deliverable/linux.git] / drivers / gpu / drm / i915 / i915_irq.c
index dd49046bccd101b74e3a328b18ef281997cd01f9..d9151264d91428cbe2e50bc1d9e6b5107979a2d9 100644 (file)
@@ -382,7 +382,13 @@ static void gen6_pm_rps_work(struct work_struct *work)
        else
                new_delay = dev_priv->rps.cur_delay - 1;
 
-       gen6_set_rps(dev_priv->dev, new_delay);
+       /* sysfs frequency interfaces may have snuck in while servicing the
+        * interrupt
+        */
+       if (!(new_delay > dev_priv->rps.max_delay ||
+             new_delay < dev_priv->rps.min_delay)) {
+               gen6_set_rps(dev_priv->dev, new_delay);
+       }
 
        mutex_unlock(&dev_priv->dev->struct_mutex);
 }
This page took 0.026913 seconds and 5 git commands to generate.