diff options
| -rw-r--r-- | serial/manager.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/serial/manager.c b/serial/manager.c index 9043cc0c..15e0fca8 100644 --- a/serial/manager.c +++ b/serial/manager.c @@ -1577,16 +1577,14 @@ static int proxy_register(DBusConnection *conn, bdaddr_t *src, const char *path,  	memset(&sys_ti, 0, sizeof(sys_ti));  	tcgetattr(sk, &sys_ti);  	memcpy(&prx->sys_ti, &sys_ti, sizeof(sys_ti)); -	if (!ti) { -		/* Keep the current settings */ +	close(sk); + +	if (!ti) +		/* Use current settings */  		memcpy(&prx->proxy_ti, &sys_ti, sizeof(sys_ti)); -	} else { +	else  		/* New TTY settings: user provided */  		memcpy(&prx->proxy_ti, ti, sizeof(*ti)); -		tcsetattr(sk, TCSANOW, ti); -	} - -	close(sk);  	if (!dbus_connection_register_interface(conn, path,  				SERIAL_PROXY_INTERFACE,  | 
