Hi,

I found it was incorrect. So please IGNORE this patch.
Sorry for that.


On 12/09/2013 11:20 AM, Li, Zhen-Hua wrote:
In function tty_release, there are two unlock not called while
breaking from a while. This may cause problems.
This patch fixed this problem , adding the two unlocks before
break is called.

Signed-off-by: Li, Zhen-Hua <zhen-h...@hp.com>
---
  drivers/tty/tty_io.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index c74a00a..d41b0da 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -1777,9 +1777,11 @@ int tty_release(struct inode *inode, struct file *filp)
                                do_sleep++;
                        }
                }
-               if (!do_sleep)
+               if (!do_sleep) {
+                       tty_unlock_pair(tty, o_tty);
+                       mutex_unlock(&tty_mutex);
                        break;
-
+               }
                printk(KERN_WARNING "%s: %s: read/write wait queue active!\n",
                                __func__, tty_name(tty, buf));
                tty_unlock_pair(tty, o_tty);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to