TTY: hvc_console, fix port reference count going to zero prematurely
authorPaul Mackerras <paulus@samba.org>
Wed, 14 Nov 2012 08:15:47 +0000 (19:15 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Nov 2012 20:27:29 +0000 (12:27 -0800)
commitc019bc119a97aa20372c5a2cf210d209380d397d
tree176544a310cd9c97589a9aa6484d2a37558cd3f2
parent77b67063bb6bce6d475e910d3b886a606d0d91f7
TTY: hvc_console, fix port reference count going to zero prematurely

Commit bdb498c20040 "TTY: hvc_console, add tty install" took the port
refcounting out of hvc_open()/hvc_close(), but failed to remove the
kref_put() and tty_kref_put() calls in hvc_hangup() that were there to
remove the extra references that hvc_open() had taken.

The result was that doing a vhangup() when the current terminal was
a hvc_console, then closing the current terminal, would end up calling
destroy_hvc_struct() and making the port disappear entirely.  This
meant that Fedora 17 systems would boot up but then not display the
login prompt on the console, and attempts to open /dev/hvc0 would
give a "No such device" error.

This fixes it by removing the extra kref_put() and tty_kref_put() calls.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/hvc/hvc_console.c