diff options
| -rw-r--r-- | drivers/char/isicom.c | 9 | ||||
| -rw-r--r-- | drivers/char/istallion.c | 2 | ||||
| -rw-r--r-- | drivers/char/mxser.c | 3 | ||||
| -rw-r--r-- | drivers/char/riscom8.c | 1 | ||||
| -rw-r--r-- | drivers/char/stallion.c | 7 |
5 files changed, 16 insertions, 6 deletions
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index 0fa2e4a0835d..c1ab303455cf 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c | |||
| @@ -879,8 +879,8 @@ static int isicom_open(struct tty_struct *tty, struct file *filp) | |||
| 879 | if (tport == NULL) | 879 | if (tport == NULL) |
| 880 | return -ENODEV; | 880 | return -ENODEV; |
| 881 | port = container_of(tport, struct isi_port, port); | 881 | port = container_of(tport, struct isi_port, port); |
| 882 | card = &isi_card[BOARD(tty->index)]; | ||
| 883 | 882 | ||
| 883 | tty->driver_data = port; | ||
| 884 | return tty_port_open(tport, tty, filp); | 884 | return tty_port_open(tport, tty, filp); |
| 885 | } | 885 | } |
| 886 | 886 | ||
| @@ -936,7 +936,12 @@ static void isicom_shutdown(struct tty_port *port) | |||
| 936 | static void isicom_close(struct tty_struct *tty, struct file *filp) | 936 | static void isicom_close(struct tty_struct *tty, struct file *filp) |
| 937 | { | 937 | { |
| 938 | struct isi_port *ip = tty->driver_data; | 938 | struct isi_port *ip = tty->driver_data; |
| 939 | struct tty_port *port = &ip->port; | 939 | struct tty_port *port; |
| 940 | |||
| 941 | if (ip == NULL) | ||
| 942 | return; | ||
| 943 | |||
| 944 | port = &ip->port; | ||
| 940 | if (isicom_paranoia_check(ip, tty->name, "isicom_close")) | 945 | if (isicom_paranoia_check(ip, tty->name, "isicom_close")) |
| 941 | return; | 946 | return; |
| 942 | tty_port_close(port, tty, filp); | 947 | tty_port_close(port, tty, filp); |
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index 4cd6c527ee41..4e395c956a09 100644 --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c | |||
| @@ -827,6 +827,8 @@ static int stli_open(struct tty_struct *tty, struct file *filp) | |||
| 827 | return -ENODEV; | 827 | return -ENODEV; |
| 828 | if (portp->devnr < 1) | 828 | if (portp->devnr < 1) |
| 829 | return -ENODEV; | 829 | return -ENODEV; |
| 830 | |||
| 831 | tty->driver_data = portp; | ||
| 830 | return tty_port_open(&portp->port, tty, filp); | 832 | return tty_port_open(&portp->port, tty, filp); |
| 831 | } | 833 | } |
| 832 | 834 | ||
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c index 47023053ee85..d2692d443f7b 100644 --- a/drivers/char/mxser.c +++ b/drivers/char/mxser.c | |||
| @@ -1011,6 +1011,7 @@ static int mxser_open(struct tty_struct *tty, struct file *filp) | |||
| 1011 | if (!info->ioaddr) | 1011 | if (!info->ioaddr) |
| 1012 | return -ENODEV; | 1012 | return -ENODEV; |
| 1013 | 1013 | ||
| 1014 | tty->driver_data = info; | ||
| 1014 | return tty_port_open(&info->port, tty, filp); | 1015 | return tty_port_open(&info->port, tty, filp); |
| 1015 | } | 1016 | } |
| 1016 | 1017 | ||
| @@ -1074,7 +1075,7 @@ static void mxser_close(struct tty_struct *tty, struct file *filp) | |||
| 1074 | struct mxser_port *info = tty->driver_data; | 1075 | struct mxser_port *info = tty->driver_data; |
| 1075 | struct tty_port *port = &info->port; | 1076 | struct tty_port *port = &info->port; |
| 1076 | 1077 | ||
| 1077 | if (tty->index == MXSER_PORTS) | 1078 | if (tty->index == MXSER_PORTS || info == NULL) |
| 1078 | return; | 1079 | return; |
| 1079 | if (tty_port_close_start(port, tty, filp) == 0) | 1080 | if (tty_port_close_start(port, tty, filp) == 0) |
| 1080 | return; | 1081 | return; |
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c index 0a8d1e56c993..b02332a5412f 100644 --- a/drivers/char/riscom8.c +++ b/drivers/char/riscom8.c | |||
| @@ -909,6 +909,7 @@ static int rc_open(struct tty_struct *tty, struct file *filp) | |||
| 909 | if (error) | 909 | if (error) |
| 910 | return error; | 910 | return error; |
| 911 | 911 | ||
| 912 | tty->driver_data = port; | ||
| 912 | return tty_port_open(&port->port, tty, filp); | 913 | return tty_port_open(&port->port, tty, filp); |
| 913 | } | 914 | } |
| 914 | 915 | ||
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index 0e511d61f544..6049fd731924 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c | |||
| @@ -724,7 +724,6 @@ static int stl_open(struct tty_struct *tty, struct file *filp) | |||
| 724 | { | 724 | { |
| 725 | struct stlport *portp; | 725 | struct stlport *portp; |
| 726 | struct stlbrd *brdp; | 726 | struct stlbrd *brdp; |
| 727 | struct tty_port *port; | ||
| 728 | unsigned int minordev, brdnr, panelnr; | 727 | unsigned int minordev, brdnr, panelnr; |
| 729 | int portnr; | 728 | int portnr; |
| 730 | 729 | ||
| @@ -754,7 +753,8 @@ static int stl_open(struct tty_struct *tty, struct file *filp) | |||
| 754 | portp = brdp->panels[panelnr]->ports[portnr]; | 753 | portp = brdp->panels[panelnr]->ports[portnr]; |
| 755 | if (portp == NULL) | 754 | if (portp == NULL) |
| 756 | return -ENODEV; | 755 | return -ENODEV; |
| 757 | port = &portp->port; | 756 | |
| 757 | tty->driver_data = portp; | ||
| 758 | return tty_port_open(&portp->port, tty, filp); | 758 | return tty_port_open(&portp->port, tty, filp); |
| 759 | 759 | ||
| 760 | } | 760 | } |
| @@ -841,7 +841,8 @@ static void stl_close(struct tty_struct *tty, struct file *filp) | |||
| 841 | pr_debug("stl_close(tty=%p,filp=%p)\n", tty, filp); | 841 | pr_debug("stl_close(tty=%p,filp=%p)\n", tty, filp); |
| 842 | 842 | ||
| 843 | portp = tty->driver_data; | 843 | portp = tty->driver_data; |
| 844 | BUG_ON(portp == NULL); | 844 | if(portp == NULL) |
| 845 | return; | ||
| 845 | tty_port_close(&portp->port, tty, filp); | 846 | tty_port_close(&portp->port, tty, filp); |
| 846 | } | 847 | } |
| 847 | 848 | ||
