diff options
author | Alan Cox <alan@redhat.com> | 2008-10-13 10:41:16 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 09:51:42 -0700 |
commit | bf7a06bcce205705ea5c7675cbb8ea9239ea30a0 (patch) | |
tree | 98decd6b145bb9e42350190bb32178584e4caca6 /drivers/char/vt.c | |
parent | 15582d36a15978355d2168eaa018a3736db7281f (diff) | |
download | kernel-crypto-bf7a06bcce205705ea5c7675cbb8ea9239ea30a0.tar.gz kernel-crypto-bf7a06bcce205705ea5c7675cbb8ea9239ea30a0.tar.xz kernel-crypto-bf7a06bcce205705ea5c7675cbb8ea9239ea30a0.zip |
vt: remove bogus lock dropping
For hysterical raisins the vt layer drops and retakes locks in the write
method. This is a left over from the days when user/kernel data was passed
directly to the tty not pre-buffered.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/vt.c')
-rw-r--r-- | drivers/char/vt.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c index 05ca1c5dcb1..ec94521c311 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c @@ -2136,27 +2136,9 @@ static int do_con_write(struct tty_struct *tty, const unsigned char *buf, int co release_console_sem(); return 0; } - release_console_sem(); - orig_buf = buf; orig_count = count; - /* At this point 'buf' is guaranteed to be a kernel buffer - * and therefore no access to userspace (and therefore sleeping) - * will be needed. The con_buf_mtx serializes all tty based - * console rendering and vcs write/read operations. We hold - * the console spinlock during the entire write. - */ - - acquire_console_sem(); - - vc = tty->driver_data; - if (vc == NULL) { - printk(KERN_ERR "vt: argh, driver_data _became_ NULL !\n"); - release_console_sem(); - goto out; - } - himask = vc->vc_hi_font_mask; charmask = himask ? 0x1ff : 0xff; |