devtty: update for close semantics
authorAlan Cox <alan@linux.intel.com>
Thu, 21 May 2015 23:02:15 +0000 (00:02 +0100)
committerAlan Cox <alan@linux.intel.com>
Thu, 21 May 2015 23:02:15 +0000 (00:02 +0100)
Kernel/platform-mtx/devtty.c
Kernel/platform-nc100/devtty.c
Kernel/platform-trs80/devtty.c

index 03c8b84..772b3c7 100644 (file)
@@ -160,6 +160,9 @@ int mtxtty_close(uint8_t minor)
        irqflags_t flags;
        int err = tty_close(minor);
 
+       if (tty[minor].users)
+               return 0;
+
        flags = di();
        if (minor == 3) {
                serialAc = 0x05;
index 8745e0e..11a4609 100644 (file)
@@ -67,6 +67,8 @@ int nc100_tty_open(uint8_t minor, uint16_t flag)
 int nc100_tty_close(uint8_t minor)
 {
        tty_close(minor);
+       if (tty[minor].users)
+               return 0;
        if (minor == 2) {
 #ifdef CONFIG_NC200
                irqen = 0x18;
index ff6d075..304406b 100644 (file)
@@ -90,7 +90,7 @@ void tty_setup(uint8_t minor)
 
 int trstty_close(uint8_t minor)
 {
-    if (minor == 2)
+    if (minor == 2 &&ttydata[2].users == 0)
         tr1865_ctrl = 0;       /* Drop carrier */
     return tty_close(minor);
 }