@@ -57,7 +57,7 @@ static void split_counters(unsigned int *cnt, unsigned int *inpr)
57
57
/* A preserved old value of the events counter. */
58
58
static unsigned int saved_count ;
59
59
60
- static DEFINE_SPINLOCK (events_lock );
60
+ static DEFINE_RAW_SPINLOCK (events_lock );
61
61
62
62
static void pm_wakeup_timer_fn (struct timer_list * t );
63
63
@@ -185,9 +185,9 @@ void wakeup_source_add(struct wakeup_source *ws)
185
185
ws -> active = false;
186
186
ws -> last_time = ktime_get ();
187
187
188
- spin_lock_irqsave (& events_lock , flags );
188
+ raw_spin_lock_irqsave (& events_lock , flags );
189
189
list_add_rcu (& ws -> entry , & wakeup_sources );
190
- spin_unlock_irqrestore (& events_lock , flags );
190
+ raw_spin_unlock_irqrestore (& events_lock , flags );
191
191
}
192
192
EXPORT_SYMBOL_GPL (wakeup_source_add );
193
193
@@ -202,9 +202,9 @@ void wakeup_source_remove(struct wakeup_source *ws)
202
202
if (WARN_ON (!ws ))
203
203
return ;
204
204
205
- spin_lock_irqsave (& events_lock , flags );
205
+ raw_spin_lock_irqsave (& events_lock , flags );
206
206
list_del_rcu (& ws -> entry );
207
- spin_unlock_irqrestore (& events_lock , flags );
207
+ raw_spin_unlock_irqrestore (& events_lock , flags );
208
208
synchronize_srcu (& wakeup_srcu );
209
209
}
210
210
EXPORT_SYMBOL_GPL (wakeup_source_remove );
@@ -843,15 +843,15 @@ bool pm_wakeup_pending(void)
843
843
unsigned long flags ;
844
844
bool ret = false;
845
845
846
- spin_lock_irqsave (& events_lock , flags );
846
+ raw_spin_lock_irqsave (& events_lock , flags );
847
847
if (events_check_enabled ) {
848
848
unsigned int cnt , inpr ;
849
849
850
850
split_counters (& cnt , & inpr );
851
851
ret = (cnt != saved_count || inpr > 0 );
852
852
events_check_enabled = !ret ;
853
853
}
854
- spin_unlock_irqrestore (& events_lock , flags );
854
+ raw_spin_unlock_irqrestore (& events_lock , flags );
855
855
856
856
if (ret ) {
857
857
pr_info ("PM: Wakeup pending, aborting suspend\n" );
@@ -940,13 +940,13 @@ bool pm_save_wakeup_count(unsigned int count)
940
940
unsigned long flags ;
941
941
942
942
events_check_enabled = false;
943
- spin_lock_irqsave (& events_lock , flags );
943
+ raw_spin_lock_irqsave (& events_lock , flags );
944
944
split_counters (& cnt , & inpr );
945
945
if (cnt == count && inpr == 0 ) {
946
946
saved_count = count ;
947
947
events_check_enabled = true;
948
948
}
949
- spin_unlock_irqrestore (& events_lock , flags );
949
+ raw_spin_unlock_irqrestore (& events_lock , flags );
950
950
return events_check_enabled ;
951
951
}
952
952
0 commit comments