rcupreempt: fix hibernate/resume in presence of PREEMPT_RCU and hotplug
[sfrench/cifs-2.6.git] / kernel / rcupreempt.c
index c7c52096df48f180d08c133476a9464447d956b9..845abcd472b09782f43e3785c7b8350e2e29e011 100644 (file)
@@ -918,8 +918,9 @@ void rcu_offline_cpu(int cpu)
         * fix.
         */
 
+       local_irq_save(flags);
        rdp = RCU_DATA_ME();
-       spin_lock_irqsave(&rdp->lock, flags);
+       spin_lock(&rdp->lock);
        *rdp->nexttail = list;
        if (list)
                rdp->nexttail = tail;