hvc_console: Change an mb() to smp_mb() and add some comments

I remember some history on this barrier.  There was a race between
open via /dev/console and the tty being fully setup.  Its also why
there is a temporary variable and the global is assigned at the end
of the function.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Milton Miller 2009-01-08 02:14:18 +00:00 committed by Benjamin Herrenschmidt
parent a1c5a8932b
commit 9fef3d2d15

View File

@ -876,8 +876,11 @@ static int hvc_init(void)
goto stop_thread;
}
/* FIXME: This mb() seems completely random. Remove it. */
mb();
/*
* Make sure tty is fully registered before allowing it to be
* found by hvc_console_device.
*/
smp_mb();
hvc_driver = drv;
return 0;