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/