[POWERPC] fix spin lock nesting in hvc_iseries
We had nested spinlocks using the same flags variable, but it turns out that we don't need the nested locks at all (the lock protects a static buffer that we aren't using here), so just remove the extra locks. Spotted by Alexey Dobriyan. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
022d51b1b2
Коммит
d86d9b8cab
|
@ -153,9 +153,7 @@ static int put_chars(uint32_t vtermno, const char *buf, int count)
|
||||||
spin_lock_irqsave(&consolelock, flags);
|
spin_lock_irqsave(&consolelock, flags);
|
||||||
|
|
||||||
if (viochar_is_console(pi) && !viopath_isactive(pi->lp)) {
|
if (viochar_is_console(pi) && !viopath_isactive(pi->lp)) {
|
||||||
spin_lock_irqsave(&consoleloglock, flags);
|
|
||||||
HvCall_writeLogBuffer(buf, count);
|
HvCall_writeLogBuffer(buf, count);
|
||||||
spin_unlock_irqrestore(&consoleloglock, flags);
|
|
||||||
sent = count;
|
sent = count;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
@ -171,11 +169,8 @@ static int put_chars(uint32_t vtermno, const char *buf, int count)
|
||||||
|
|
||||||
len = (count > VIOCHAR_MAX_DATA) ? VIOCHAR_MAX_DATA : count;
|
len = (count > VIOCHAR_MAX_DATA) ? VIOCHAR_MAX_DATA : count;
|
||||||
|
|
||||||
if (viochar_is_console(pi)) {
|
if (viochar_is_console(pi))
|
||||||
spin_lock_irqsave(&consoleloglock, flags);
|
|
||||||
HvCall_writeLogBuffer(buf, len);
|
HvCall_writeLogBuffer(buf, len);
|
||||||
spin_unlock_irqrestore(&consoleloglock, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
init_data_event(viochar, pi->lp);
|
init_data_event(viochar, pi->lp);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче