const i915_reg_t reg)
 {
        u32 lower, upper, tmp;
+       unsigned long flags;
        int loop = 2;
 
        /* The register accessed do not need forcewake. We borrow
         * uncore lock to prevent concurrent access to range reg.
         */
-       spin_lock_irq(&dev_priv->uncore.lock);
+       spin_lock_irqsave(&dev_priv->uncore.lock, flags);
 
        /* vlv and chv residency counters are 40 bits in width.
         * With a control bit, we can choose between upper or lower
         * now.
         */
 
-       spin_unlock_irq(&dev_priv->uncore.lock);
+       spin_unlock_irqrestore(&dev_priv->uncore.lock, flags);
 
        return lower | (u64)upper << 8;
 }
                mul = 1000000;
                div = dev_priv->czclk_freq;
                time_hw = vlv_residency_raw(dev_priv, reg);
-
        } else {
                /* 833.33ns units on Gen9LP, 1.28us elsewhere. */
                if (IS_GEN9_LP(dev_priv)) {