From e1ed6508e1ed1cf765c4fe9a46fad5284d0d8b31 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Tue, 26 Mar 2013 20:30:17 -0400 Subject: [PATCH] --- yaml --- r: 361855 b: refs/heads/master c: e8cd81693bbbb15db57d3c9aa7dd90eda4842874 h: refs/heads/master i: 361853: 8b0c884005bf47eec369da8e116a1ea10e688557 361851: 5ab267e2cb25c347f507dd4f5a6d37391cda21d2 361847: 6149277bcc2d1b7751d777c52fd8a7fdfe162737 361839: 27a41d41d624ae40f6251c9d37cf53ca1fde18a1 361823: ab87829aa0eedc7e452821ec7cf6c74a4caa4e26 361791: 4441a326548deb484a5877adf930f3f4728405d2 361727: 4b196b28767f11041fded3a7df89f226bb9fd4e7 v: v3 --- [refs] | 2 +- trunk/drivers/tty/vt/vc_screen.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 62504f13a04d..cd082073a012 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7ea600b5314529f9d1b9d6d3c41cb26fce6a7a4a +refs/heads/master: e8cd81693bbbb15db57d3c9aa7dd90eda4842874 diff --git a/trunk/drivers/tty/vt/vc_screen.c b/trunk/drivers/tty/vt/vc_screen.c index e4ca345873c3..d7799deacb21 100644 --- a/trunk/drivers/tty/vt/vc_screen.c +++ b/trunk/drivers/tty/vt/vc_screen.c @@ -93,7 +93,7 @@ vcs_poll_data_free(struct vcs_poll_data *poll) static struct vcs_poll_data * vcs_poll_data_get(struct file *file) { - struct vcs_poll_data *poll = file->private_data; + struct vcs_poll_data *poll = file->private_data, *kill = NULL; if (poll) return poll; @@ -122,10 +122,12 @@ vcs_poll_data_get(struct file *file) file->private_data = poll; } else { /* someone else raced ahead of us */ - vcs_poll_data_free(poll); + kill = poll; poll = file->private_data; } spin_unlock(&file->f_lock); + if (kill) + vcs_poll_data_free(kill); return poll; }