|
@@ -70,7 +70,7 @@ static DEFINE_MUTEX(microcode_mutex);
|
|
/*
|
|
/*
|
|
* Serialize late loading so that CPUs get updated one-by-one.
|
|
* Serialize late loading so that CPUs get updated one-by-one.
|
|
*/
|
|
*/
|
|
-static DEFINE_SPINLOCK(update_lock);
|
|
|
|
|
|
+static DEFINE_RAW_SPINLOCK(update_lock);
|
|
|
|
|
|
struct ucode_cpu_info ucode_cpu_info[NR_CPUS];
|
|
struct ucode_cpu_info ucode_cpu_info[NR_CPUS];
|
|
|
|
|
|
@@ -560,9 +560,9 @@ static int __reload_late(void *info)
|
|
if (__wait_for_cpus(&late_cpus_in, NSEC_PER_SEC))
|
|
if (__wait_for_cpus(&late_cpus_in, NSEC_PER_SEC))
|
|
return -1;
|
|
return -1;
|
|
|
|
|
|
- spin_lock(&update_lock);
|
|
|
|
|
|
+ raw_spin_lock(&update_lock);
|
|
apply_microcode_local(&err);
|
|
apply_microcode_local(&err);
|
|
- spin_unlock(&update_lock);
|
|
|
|
|
|
+ raw_spin_unlock(&update_lock);
|
|
|
|
|
|
/* siblings return UCODE_OK because their engine got updated already */
|
|
/* siblings return UCODE_OK because their engine got updated already */
|
|
if (err > UCODE_NFOUND) {
|
|
if (err > UCODE_NFOUND) {
|