diff options
author | Alan Cox <alan@redhat.com> | 2008-10-13 05:41:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 12:51:42 -0400 |
commit | bf7a06bcce205705ea5c7675cbb8ea9239ea30a0 (patch) | |
tree | 98decd6b145bb9e42350190bb32178584e4caca6 /drivers/char | |
parent | 15582d36a15978355d2168eaa018a3736db7281f (diff) |
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')
-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 05ca1c5dcb1c..ec94521c3118 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 | |||
2136 | release_console_sem(); | 2136 | release_console_sem(); |
2137 | return 0; | 2137 | return 0; |
2138 | } | 2138 | } |
2139 | release_console_sem(); | ||
2140 | |||
2141 | orig_buf = buf; | 2139 | orig_buf = buf; |
2142 | orig_count = count; | 2140 | orig_count = count; |
2143 | 2141 | ||
2144 | /* At this point 'buf' is guaranteed to be a kernel buffer | ||
2145 | * and therefore no access to userspace (and therefore sleeping) | ||
2146 | * will be needed. The con_buf_mtx serializes all tty based | ||
2147 | * console rendering and vcs write/read operations. We hold | ||
2148 | * the console spinlock during the entire write. | ||
2149 | */ | ||
2150 | |||
2151 | acquire_console_sem(); | ||
2152 | |||
2153 | vc = tty->driver_data; | ||
2154 | if (vc == NULL) { | ||
2155 | printk(KERN_ERR "vt: argh, driver_data _became_ NULL !\n"); | ||
2156 | release_console_sem(); | ||
2157 | goto out; | ||
2158 | } | ||
2159 | |||
2160 | himask = vc->vc_hi_font_mask; | 2142 | himask = vc->vc_hi_font_mask; |
2161 | charmask = himask ? 0x1ff : 0xff; | 2143 | charmask = himask ? 0x1ff : 0xff; |
2162 | 2144 | ||