* cmci_discover_lock protects against parallel discovery attempts
  * which could race against each other.
  */
-static DEFINE_SPINLOCK(cmci_discover_lock);
+static DEFINE_RAW_SPINLOCK(cmci_discover_lock);
 
 #define CMCI_THRESHOLD         1
 #define CMCI_POLL_INTERVAL     (30 * HZ)
        int bank;
        u64 val;
 
-       spin_lock_irqsave(&cmci_discover_lock, flags);
+       raw_spin_lock_irqsave(&cmci_discover_lock, flags);
        owned = __get_cpu_var(mce_banks_owned);
        for_each_set_bit(bank, owned, MAX_NR_BANKS) {
                rdmsrl(MSR_IA32_MCx_CTL2(bank), val);
                val &= ~MCI_CTL2_CMCI_EN;
                wrmsrl(MSR_IA32_MCx_CTL2(bank), val);
        }
-       spin_unlock_irqrestore(&cmci_discover_lock, flags);
+       raw_spin_unlock_irqrestore(&cmci_discover_lock, flags);
 }
 
 static bool cmci_storm_detect(void)
        int i;
        int bios_wrong_thresh = 0;
 
-       spin_lock_irqsave(&cmci_discover_lock, flags);
+       raw_spin_lock_irqsave(&cmci_discover_lock, flags);
        for (i = 0; i < banks; i++) {
                u64 val;
                int bios_zero_thresh = 0;
                        WARN_ON(!test_bit(i, __get_cpu_var(mce_poll_banks)));
                }
        }
-       spin_unlock_irqrestore(&cmci_discover_lock, flags);
+       raw_spin_unlock_irqrestore(&cmci_discover_lock, flags);
        if (mca_cfg.bios_cmci_threshold && bios_wrong_thresh) {
                pr_info_once(
                        "bios_cmci_threshold: Some banks do not have valid thresholds set\n");
 
        if (!cmci_supported(&banks))
                return;
-       spin_lock_irqsave(&cmci_discover_lock, flags);
+       raw_spin_lock_irqsave(&cmci_discover_lock, flags);
        for (i = 0; i < banks; i++)
                __cmci_disable_bank(i);
-       spin_unlock_irqrestore(&cmci_discover_lock, flags);
+       raw_spin_unlock_irqrestore(&cmci_discover_lock, flags);
 }
 
 static void cmci_rediscover_work_func(void *arg)
        if (!cmci_supported(&banks))
                return;
 
-       spin_lock_irqsave(&cmci_discover_lock, flags);
+       raw_spin_lock_irqsave(&cmci_discover_lock, flags);
        __cmci_disable_bank(bank);
-       spin_unlock_irqrestore(&cmci_discover_lock, flags);
+       raw_spin_unlock_irqrestore(&cmci_discover_lock, flags);
 }
 
 static void intel_init_cmci(void)