diff options
author | Alan Cox <alan@linux.intel.com> | 2009-06-11 08:04:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 11:51:02 -0400 |
commit | c481c707fe4b07783d9a2499a9bbbb94497e9b18 (patch) | |
tree | 27f4d137c4e3896733b5001c14feeb049ae7cc4d /drivers/char/n_tty.c | |
parent | aba6593bf77371e71331ba76dacc98b47760cba3 (diff) |
tty: remove buffer special casing
Long long ago a 4K kmalloc allocated two pages so the tty layer used the
page allocator, except on some machines where the page size was huge. This was
removed from the core tty layer with the tty buffer re-implementation but not
from tty_audit or the n_tty ldisc.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/n_tty.c')
-rw-r--r-- | drivers/char/n_tty.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/char/n_tty.c b/drivers/char/n_tty.c index f6f0e4ec2b51..b4b12b4f0ac4 100644 --- a/drivers/char/n_tty.c +++ b/drivers/char/n_tty.c | |||
@@ -76,19 +76,12 @@ | |||
76 | static inline unsigned char *alloc_buf(void) | 76 | static inline unsigned char *alloc_buf(void) |
77 | { | 77 | { |
78 | gfp_t prio = in_interrupt() ? GFP_ATOMIC : GFP_KERNEL; | 78 | gfp_t prio = in_interrupt() ? GFP_ATOMIC : GFP_KERNEL; |
79 | 79 | return kmalloc(N_TTY_BUF_SIZE, prio); | |
80 | if (PAGE_SIZE != N_TTY_BUF_SIZE) | ||
81 | return kmalloc(N_TTY_BUF_SIZE, prio); | ||
82 | else | ||
83 | return (unsigned char *)__get_free_page(prio); | ||
84 | } | 80 | } |
85 | 81 | ||
86 | static inline void free_buf(unsigned char *buf) | 82 | static inline void free_buf(unsigned char *buf) |
87 | { | 83 | { |
88 | if (PAGE_SIZE != N_TTY_BUF_SIZE) | 84 | kfree(buf); |
89 | kfree(buf); | ||
90 | else | ||
91 | free_page((unsigned long) buf); | ||
92 | } | 85 | } |
93 | 86 | ||
94 | static inline int tty_put_user(struct tty_struct *tty, unsigned char x, | 87 | static inline int tty_put_user(struct tty_struct *tty, unsigned char x, |