hso: fix refcounting on the ttyHSx devices
The references on ttyHSx devices were not decremented correctly when the tty was closed. The helper freeing the serial devices was never called because of that, and the module left some dangling sysfs devices after being unloaded. Signed-off-by: Olivier Blin <blino@mandriva.com> Cc: Jari Tenhunen <jari.tenhunen@iki.fi> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
Родитель
add477df67
Коммит
6d558a52ba
|
@ -1103,8 +1103,8 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp)
|
|||
/* reset the rts and dtr */
|
||||
/* do the actual close */
|
||||
serial->open_count--;
|
||||
kref_put(&serial->parent->ref, hso_serial_ref_free);
|
||||
if (serial->open_count <= 0) {
|
||||
kref_put(&serial->parent->ref, hso_serial_ref_free);
|
||||
serial->open_count = 0;
|
||||
if (serial->tty) {
|
||||
serial->tty->driver_data = NULL;
|
||||
|
|
Загрузка…
Ссылка в новой задаче