History

printk: avoid double lock acquire

Commit 4f2a8d3cf5e ("printk: Fix console_sem vs logbuf_lock unlock race") introduced another silly bug where we would want to acquire an already held lock. Avoid this.

Peter Zijlstra committed 14 years ago

Commit 09dc3cf1 parent c193c821 file · +2 −1Browse files

Unified · Split

kernel/printk.c+2−1
@@ -1293,10 +1293,11 @@ again: · 1292 unmodified lines
1293 raw_spin_lock(&logbuf_lock);1293 raw_spin_lock(&logbuf_lock);
1294 if (con_start != log_end)1294 if (con_start != log_end)
1295 retry = 1;1295 retry = 1;
1296 raw_spin_unlock_irqrestore(&logbuf_lock, flags);
1297
1296 if (retry && console_trylock())1298 if (retry && console_trylock())
1297 goto again;1299 goto again;
1298 1300
1299 raw_spin_unlock_irqrestore(&logbuf_lock, flags);
1300 if (wake_klogd)1301 if (wake_klogd)
1301 wake_up_klogd();1302 wake_up_klogd();
1302}1303}