diff options
Diffstat (limited to 'drivers/char/hvc_console.c')
-rw-r--r-- | drivers/char/hvc_console.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c index 5a8a4c28c867..94e7e3c8c05a 100644 --- a/drivers/char/hvc_console.c +++ b/drivers/char/hvc_console.c | |||
@@ -318,7 +318,6 @@ static int hvc_open(struct tty_struct *tty, struct file * filp) | |||
318 | } /* else count == 0 */ | 318 | } /* else count == 0 */ |
319 | 319 | ||
320 | tty->driver_data = hp; | 320 | tty->driver_data = hp; |
321 | tty->low_latency = 1; /* Makes flushes to ldisc synchronous. */ | ||
322 | 321 | ||
323 | hp->tty = tty; | 322 | hp->tty = tty; |
324 | 323 | ||
@@ -764,13 +763,11 @@ struct hvc_struct __devinit *hvc_alloc(uint32_t vtermno, int data, | |||
764 | return ERR_PTR(err); | 763 | return ERR_PTR(err); |
765 | } | 764 | } |
766 | 765 | ||
767 | hp = kmalloc(ALIGN(sizeof(*hp), sizeof(long)) + outbuf_size, | 766 | hp = kzalloc(ALIGN(sizeof(*hp), sizeof(long)) + outbuf_size, |
768 | GFP_KERNEL); | 767 | GFP_KERNEL); |
769 | if (!hp) | 768 | if (!hp) |
770 | return ERR_PTR(-ENOMEM); | 769 | return ERR_PTR(-ENOMEM); |
771 | 770 | ||
772 | memset(hp, 0x00, sizeof(*hp)); | ||
773 | |||
774 | hp->vtermno = vtermno; | 771 | hp->vtermno = vtermno; |
775 | hp->data = data; | 772 | hp->data = data; |
776 | hp->ops = ops; | 773 | hp->ops = ops; |
@@ -876,8 +873,11 @@ static int hvc_init(void) | |||
876 | goto stop_thread; | 873 | goto stop_thread; |
877 | } | 874 | } |
878 | 875 | ||
879 | /* FIXME: This mb() seems completely random. Remove it. */ | 876 | /* |
880 | mb(); | 877 | * Make sure tty is fully registered before allowing it to be |
878 | * found by hvc_console_device. | ||
879 | */ | ||
880 | smp_mb(); | ||
881 | hvc_driver = drv; | 881 | hvc_driver = drv; |
882 | return 0; | 882 | return 0; |
883 | 883 | ||