hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/drivers/tty/serial/omap-serial.c
....@@ -1307,13 +1307,10 @@
13071307
13081308 pm_runtime_get_sync(up->dev);
13091309
1310
- local_irq_save(flags);
1311
- if (up->port.sysrq)
1312
- locked = 0;
1313
- else if (oops_in_progress)
1314
- locked = spin_trylock(&up->port.lock);
1310
+ if (up->port.sysrq || oops_in_progress)
1311
+ locked = spin_trylock_irqsave(&up->port.lock, flags);
13151312 else
1316
- spin_lock(&up->port.lock);
1313
+ spin_lock_irqsave(&up->port.lock, flags);
13171314
13181315 /*
13191316 * First save the IER then disable the interrupts
....@@ -1342,8 +1339,7 @@
13421339 pm_runtime_mark_last_busy(up->dev);
13431340 pm_runtime_put_autosuspend(up->dev);
13441341 if (locked)
1345
- spin_unlock(&up->port.lock);
1346
- local_irq_restore(flags);
1342
+ spin_unlock_irqrestore(&up->port.lock, flags);
13471343 }
13481344
13491345 static int __init