@@ -212,7 +212,7 @@ int enable_chan(struct line *line)
212
212
* be permanently disabled. This is discovered in IRQ context, but
213
213
* the freeing of the IRQ must be done later.
214
214
*/
215
- static DEFINE_SPINLOCK (irqs_to_free_lock );
215
+ static DEFINE_RAW_SPINLOCK (irqs_to_free_lock );
216
216
static LIST_HEAD (irqs_to_free );
217
217
218
218
void free_irqs (void )
@@ -222,9 +222,9 @@ void free_irqs(void)
222
222
struct list_head * ele ;
223
223
unsigned long flags ;
224
224
225
- spin_lock_irqsave (& irqs_to_free_lock , flags );
225
+ raw_spin_lock_irqsave (& irqs_to_free_lock , flags );
226
226
list_splice_init (& irqs_to_free , & list );
227
- spin_unlock_irqrestore (& irqs_to_free_lock , flags );
227
+ raw_spin_unlock_irqrestore (& irqs_to_free_lock , flags );
228
228
229
229
list_for_each (ele , & list ) {
230
230
chan = list_entry (ele , struct chan , free_list );
@@ -246,9 +246,9 @@ static void close_one_chan(struct chan *chan, int delay_free_irq)
246
246
return ;
247
247
248
248
if (delay_free_irq ) {
249
- spin_lock_irqsave (& irqs_to_free_lock , flags );
249
+ raw_spin_lock_irqsave (& irqs_to_free_lock , flags );
250
250
list_add (& chan -> free_list , & irqs_to_free );
251
- spin_unlock_irqrestore (& irqs_to_free_lock , flags );
251
+ raw_spin_unlock_irqrestore (& irqs_to_free_lock , flags );
252
252
} else {
253
253
if (chan -> input && chan -> enabled )
254
254
um_free_irq (chan -> line -> read_irq , chan );
0 commit comments