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 | |
| 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>
| -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 | ||
