mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 22:50:41 +00:00
Revert "hvc_console: display printk messages on console."
This reverts commit 361162459f62dc0826b82c9690a741a940f457f0. It causes an infinite loop when booting Linux under Xen, as so: [ 2.382984] console [hvc0] enabled [ 2.382984] console [hvc0] enabled [ 2.382984] console [hvc0] enabled ... as reported by Konrad Rzeszutek Wilk. And Rusty reports the same for lguest. He goes on to say: "This is not a concurrency problem: the issue seems to be that calling register_console() twice on the same struct console is a bad idea." and Greg says he'll fix it up properly at some point later. Revert for now. Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Reported-by: Rusty Russell <rusty@ozlabs.org> Requested-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Miche Baker-Harvey <miche@google.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0084e4751e
commit
31555213f0
@ -852,7 +852,7 @@ struct hvc_struct *hvc_alloc(uint32_t vtermno, int data,
|
||||
* find index to use:
|
||||
* see if this vterm id matches one registered for console.
|
||||
*/
|
||||
for (i = 0; i < MAX_NR_HVC_CONSOLES; i++)
|
||||
for (i=0; i < MAX_NR_HVC_CONSOLES; i++)
|
||||
if (vtermnos[i] == hp->vtermno &&
|
||||
cons_ops[i] == hp->ops)
|
||||
break;
|
||||
@ -862,13 +862,9 @@ struct hvc_struct *hvc_alloc(uint32_t vtermno, int data,
|
||||
i = ++last_hvc;
|
||||
|
||||
hp->index = i;
|
||||
hvc_console.index = i;
|
||||
vtermnos[i] = vtermno;
|
||||
cons_ops[i] = ops;
|
||||
|
||||
list_add_tail(&(hp->next), &hvc_structs);
|
||||
spin_unlock(&hvc_structs_lock);
|
||||
register_console(&hvc_console);
|
||||
|
||||
return hp;
|
||||
}
|
||||
@ -879,7 +875,6 @@ int hvc_remove(struct hvc_struct *hp)
|
||||
unsigned long flags;
|
||||
struct tty_struct *tty;
|
||||
|
||||
unregister_console(&hvc_console);
|
||||
spin_lock_irqsave(&hp->lock, flags);
|
||||
tty = tty_kref_get(hp->tty);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user