Call new ttsetcompat() function for proper working

old v7 ioctls with locking bits.
This commit is contained in:
Andrey A. Chernov 1995-04-11 17:58:09 +00:00
parent 0a247e7d30
commit 2178b9bb49
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=7759
3 changed files with 27 additions and 3 deletions

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* from: @(#)com.c 7.5 (Berkeley) 5/16/91 * from: @(#)com.c 7.5 (Berkeley) 5/16/91
* $Id: sio.c,v 1.87 1995/04/03 10:29:14 ache Exp $ * $Id: sio.c,v 1.88 1995/04/04 16:26:04 ache Exp $
*/ */
#include "sio.h" #include "sio.h"
@ -1262,11 +1262,19 @@ sioioctl(dev, cmd, data, flag, p)
int s; int s;
int tiocm_xxx; int tiocm_xxx;
struct tty *tp; struct tty *tp;
struct termios term;
int oldcmd;
mynor = minor(dev); mynor = minor(dev);
com = com_addr(MINOR_TO_UNIT(mynor)); com = com_addr(MINOR_TO_UNIT(mynor));
iobase = com->iobase; iobase = com->iobase;
tp = com->tp; tp = com->tp;
term = tp->t_termios;
oldcmd = cmd;
if ((error = ttsetcompat(tp, &cmd, data, &term)) != 0)
return error;
if (cmd != oldcmd)
data = (caddr_t)&term;
if (mynor & CONTROL_MASK) { if (mynor & CONTROL_MASK) {
struct termios *ct; struct termios *ct;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* from: @(#)com.c 7.5 (Berkeley) 5/16/91 * from: @(#)com.c 7.5 (Berkeley) 5/16/91
* $Id: sio.c,v 1.87 1995/04/03 10:29:14 ache Exp $ * $Id: sio.c,v 1.88 1995/04/04 16:26:04 ache Exp $
*/ */
#include "sio.h" #include "sio.h"
@ -1262,11 +1262,19 @@ sioioctl(dev, cmd, data, flag, p)
int s; int s;
int tiocm_xxx; int tiocm_xxx;
struct tty *tp; struct tty *tp;
struct termios term;
int oldcmd;
mynor = minor(dev); mynor = minor(dev);
com = com_addr(MINOR_TO_UNIT(mynor)); com = com_addr(MINOR_TO_UNIT(mynor));
iobase = com->iobase; iobase = com->iobase;
tp = com->tp; tp = com->tp;
term = tp->t_termios;
oldcmd = cmd;
if ((error = ttsetcompat(tp, &cmd, data, &term)) != 0)
return error;
if (cmd != oldcmd)
data = (caddr_t)&term;
if (mynor & CONTROL_MASK) { if (mynor & CONTROL_MASK) {
struct termios *ct; struct termios *ct;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* from: @(#)com.c 7.5 (Berkeley) 5/16/91 * from: @(#)com.c 7.5 (Berkeley) 5/16/91
* $Id: sio.c,v 1.87 1995/04/03 10:29:14 ache Exp $ * $Id: sio.c,v 1.88 1995/04/04 16:26:04 ache Exp $
*/ */
#include "sio.h" #include "sio.h"
@ -1262,11 +1262,19 @@ sioioctl(dev, cmd, data, flag, p)
int s; int s;
int tiocm_xxx; int tiocm_xxx;
struct tty *tp; struct tty *tp;
struct termios term;
int oldcmd;
mynor = minor(dev); mynor = minor(dev);
com = com_addr(MINOR_TO_UNIT(mynor)); com = com_addr(MINOR_TO_UNIT(mynor));
iobase = com->iobase; iobase = com->iobase;
tp = com->tp; tp = com->tp;
term = tp->t_termios;
oldcmd = cmd;
if ((error = ttsetcompat(tp, &cmd, data, &term)) != 0)
return error;
if (cmd != oldcmd)
data = (caddr_t)&term;
if (mynor & CONTROL_MASK) { if (mynor & CONTROL_MASK) {
struct termios *ct; struct termios *ct;