tty: Fix regressions in the char driver conversion
This forgot to update a field in the old char drivers. The fact nobody has basically noticed (except one mxser user) rather suggests most of these drivers could go into the bitbucket. Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: Jiri Slaby <jirislaby@gmail.com> Cc: Dan Carpenter <error27@gmail.com> Cc: Andreas Pretzsch <apr@cn-eng.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
66f41d4c5c
commit
a2d1e3516c
|
@ -879,8 +879,8 @@ static int isicom_open(struct tty_struct *tty, struct file *filp)
|
||||||
if (tport == NULL)
|
if (tport == NULL)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
port = container_of(tport, struct isi_port, port);
|
port = container_of(tport, struct isi_port, port);
|
||||||
card = &isi_card[BOARD(tty->index)];
|
|
||||||
|
|
||||||
|
tty->driver_data = port;
|
||||||
return tty_port_open(tport, tty, filp);
|
return tty_port_open(tport, tty, filp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -936,7 +936,12 @@ static void isicom_shutdown(struct tty_port *port)
|
||||||
static void isicom_close(struct tty_struct *tty, struct file *filp)
|
static void isicom_close(struct tty_struct *tty, struct file *filp)
|
||||||
{
|
{
|
||||||
struct isi_port *ip = tty->driver_data;
|
struct isi_port *ip = tty->driver_data;
|
||||||
struct tty_port *port = &ip->port;
|
struct tty_port *port;
|
||||||
|
|
||||||
|
if (ip == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
port = &ip->port;
|
||||||
if (isicom_paranoia_check(ip, tty->name, "isicom_close"))
|
if (isicom_paranoia_check(ip, tty->name, "isicom_close"))
|
||||||
return;
|
return;
|
||||||
tty_port_close(port, tty, filp);
|
tty_port_close(port, tty, filp);
|
||||||
|
|
|
@ -827,6 +827,8 @@ static int stli_open(struct tty_struct *tty, struct file *filp)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
if (portp->devnr < 1)
|
if (portp->devnr < 1)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
tty->driver_data = portp;
|
||||||
return tty_port_open(&portp->port, tty, filp);
|
return tty_port_open(&portp->port, tty, filp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1011,6 +1011,7 @@ static int mxser_open(struct tty_struct *tty, struct file *filp)
|
||||||
if (!info->ioaddr)
|
if (!info->ioaddr)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
tty->driver_data = info;
|
||||||
return tty_port_open(&info->port, tty, filp);
|
return tty_port_open(&info->port, tty, filp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1074,7 +1075,7 @@ static void mxser_close(struct tty_struct *tty, struct file *filp)
|
||||||
struct mxser_port *info = tty->driver_data;
|
struct mxser_port *info = tty->driver_data;
|
||||||
struct tty_port *port = &info->port;
|
struct tty_port *port = &info->port;
|
||||||
|
|
||||||
if (tty->index == MXSER_PORTS)
|
if (tty->index == MXSER_PORTS || info == NULL)
|
||||||
return;
|
return;
|
||||||
if (tty_port_close_start(port, tty, filp) == 0)
|
if (tty_port_close_start(port, tty, filp) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -909,6 +909,7 @@ static int rc_open(struct tty_struct *tty, struct file *filp)
|
||||||
if (error)
|
if (error)
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
tty->driver_data = port;
|
||||||
return tty_port_open(&port->port, tty, filp);
|
return tty_port_open(&port->port, tty, filp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -724,7 +724,6 @@ static int stl_open(struct tty_struct *tty, struct file *filp)
|
||||||
{
|
{
|
||||||
struct stlport *portp;
|
struct stlport *portp;
|
||||||
struct stlbrd *brdp;
|
struct stlbrd *brdp;
|
||||||
struct tty_port *port;
|
|
||||||
unsigned int minordev, brdnr, panelnr;
|
unsigned int minordev, brdnr, panelnr;
|
||||||
int portnr;
|
int portnr;
|
||||||
|
|
||||||
|
@ -754,7 +753,8 @@ static int stl_open(struct tty_struct *tty, struct file *filp)
|
||||||
portp = brdp->panels[panelnr]->ports[portnr];
|
portp = brdp->panels[panelnr]->ports[portnr];
|
||||||
if (portp == NULL)
|
if (portp == NULL)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
port = &portp->port;
|
|
||||||
|
tty->driver_data = portp;
|
||||||
return tty_port_open(&portp->port, tty, filp);
|
return tty_port_open(&portp->port, tty, filp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -841,7 +841,8 @@ static void stl_close(struct tty_struct *tty, struct file *filp)
|
||||||
pr_debug("stl_close(tty=%p,filp=%p)\n", tty, filp);
|
pr_debug("stl_close(tty=%p,filp=%p)\n", tty, filp);
|
||||||
|
|
||||||
portp = tty->driver_data;
|
portp = tty->driver_data;
|
||||||
BUG_ON(portp == NULL);
|
if(portp == NULL)
|
||||||
|
return;
|
||||||
tty_port_close(&portp->port, tty, filp);
|
tty_port_close(&portp->port, tty, filp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue