summaryrefslogtreecommitdiffstats
path: root/drivers/char/hvc_iseries.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2006-09-26 11:54:16 +1000
committerPaul Mackerras <paulus@samba.org>2006-09-26 15:41:03 +1000
commitd86d9b8cab45adf64e2ea8fe975bec3282b5de81 (patch)
tree5e5f5da5139c819f3d77ab2b6a0cb1e6b339f4ea /drivers/char/hvc_iseries.c
parent022d51b1b28d25d50935c39d7968fefe34102a9f (diff)
downloadlinux-stable-d86d9b8cab45adf64e2ea8fe975bec3282b5de81.tar.gz
linux-stable-d86d9b8cab45adf64e2ea8fe975bec3282b5de81.tar.bz2
linux-stable-d86d9b8cab45adf64e2ea8fe975bec3282b5de81.zip
[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>
Diffstat (limited to 'drivers/char/hvc_iseries.c')
-rw-r--r--drivers/char/hvc_iseries.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/char/hvc_iseries.c b/drivers/char/hvc_iseries.c
index 4747729459c7..8b6f197e5f8c 100644
--- a/drivers/char/hvc_iseries.c
+++ b/drivers/char/hvc_iseries.c
@@ -153,9 +153,7 @@ static int put_chars(uint32_t vtermno, const char *buf, int count)
spin_lock_irqsave(&consolelock, flags);
if (viochar_is_console(pi) && !viopath_isactive(pi->lp)) {
- spin_lock_irqsave(&consoleloglock, flags);
HvCall_writeLogBuffer(buf, count);
- spin_unlock_irqrestore(&consoleloglock, flags);
sent = count;
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;
- if (viochar_is_console(pi)) {
- spin_lock_irqsave(&consoleloglock, flags);
+ if (viochar_is_console(pi))
HvCall_writeLogBuffer(buf, len);
- spin_unlock_irqrestore(&consoleloglock, flags);
- }
init_data_event(viochar, pi->lp);