[kernel/f17] dos2unix.

Dave Jones davej at fedoraproject.org
Mon Sep 10 17:35:55 UTC 2012


commit 743d347abbb80b913f49c75d0abcd9b5cf35d1e5
Author: Dave Jones <davej at redhat.com>
Date:   Mon Sep 10 13:35:18 2012 -0400

    dos2unix.

 ...ion-between-console-lock-and-cursor-timer.patch |  176 ++++++++++----------
 1 files changed, 88 insertions(+), 88 deletions(-)
---
diff --git a/fbcon-fix-race-condition-between-console-lock-and-cursor-timer.patch b/fbcon-fix-race-condition-between-console-lock-and-cursor-timer.patch
index 992bd25..5001c95 100644
--- a/fbcon-fix-race-condition-between-console-lock-and-cursor-timer.patch
+++ b/fbcon-fix-race-condition-between-console-lock-and-cursor-timer.patch
@@ -1,89 +1,89 @@
                                                                                                                                                                                                                                                                
-Delivered-To: jwboyer at gmail.com
-Received: by 10.229.184.7 with SMTP id ci7csp32184qcb;
-        Mon, 20 Aug 2012 23:40:20 -0700 (PDT)
-Received: by 10.236.195.97 with SMTP id o61mr24210886yhn.17.1345531220620;
-        Mon, 20 Aug 2012 23:40:20 -0700 (PDT)
-Return-Path: <airlied at redhat.com>
-Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28])
-        by mx.google.com with ESMTP id c5si239413anp.5.2012.08.20.23.40.20;
-        Mon, 20 Aug 2012 23:40:20 -0700 (PDT)
-Received-SPF: pass (google.com: domain of airlied at redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28;
-Authentication-Results: mx.google.com; spf=pass (google.com: domain of airlied at redhat.com designates 209.132.183.28 as permitted sender) smtp.mail=airlied at redhat.com
-Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
-	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q7L6eJ4K014799
-	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
-	Tue, 21 Aug 2012 02:40:19 -0400
-Received: from prime.bne.redhat.com (dhcp-41-76.bne.redhat.com [10.64.41.76])
-	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q7L6eFfB029177;
-	Tue, 21 Aug 2012 02:40:16 -0400
-From: Dave Airlie <airlied at redhat.com>
-To: linux-fbdev at vger.kernel.org
-Cc: dri-devel at lists.sf.net, linux-kernel at vger.kernel.org,
-        Linus <torvalds at linux-foundation.org>,
-        Alan Cox <alan at lxorguk.ukuu.org.uk>,
-        Randy Dunlap <rdunlap at xenotime.net>, Josh Boyer <jwboyer at gmail.com>,
-        Dave Airlie <airlied at redhat.com>
-Subject: [PATCH] fbcon: fix race condition between console lock and cursor timer
-Date: Tue, 21 Aug 2012 16:40:07 +1000
-Message-Id: <1345531207-24926-1-git-send-email-airlied at redhat.com>
-X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
-
-So we've had a fair few reports of fbcon handover breakage between
-efi/vesafb and i915 surface recently, so I dedicated a couple of
-days to finding the problem.
-
-Essentially the last thing we saw was the conflicting framebuffer
-message and that was all.
-
-So after much tracing with direct netconsole writes (printks
-under console_lock not so useful), I think I found the race.
-
-Thread A (driver load)    Thread B (timer thread)
-  unbind_con_driver ->              |
-  bind_con_driver ->                |
-  vc->vc_sw->con_deinit ->          |
-  fbcon_deinit ->                   |
-  console_lock()                    |
-      |                             |
-      |                       fbcon_flashcursor timer fires
-      |                       console_lock() <- blocked for A
-      |
-      |
-fbcon_del_cursor_timer ->
-  del_timer_sync
-  (BOOM)
-
-Of course because all of this is under the console lock,
-we never see anything, also since we also just unbound the active
-console guess what we never see anything.
-
-Hopefully this fixes the problem for anyone seeing vesafb->kms
-driver handoff.
-
-Signed-off-by: David Airlie <airlied at redhat.com>
----
- drivers/video/console/fbcon.c |    6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
-index 2e471c2..f8a79fc 100644
---- a/drivers/video/console/fbcon.c
-+++ b/drivers/video/console/fbcon.c
-@@ -372,8 +372,12 @@ static void fb_flashcursor(struct work_struct *work)
- 	struct vc_data *vc = NULL;
- 	int c;
- 	int mode;
-+	int ret;
-+
-+	ret = console_trylock();
-+	if (ret == 0)
-+		return;
- 
--	console_lock();
- 	if (ops && ops->currcon != -1)
- 		vc = vc_cons[ops->currcon].d;
- 
--- 
-1.7.10.2
-
+Delivered-To: jwboyer at gmail.com
+Received: by 10.229.184.7 with SMTP id ci7csp32184qcb;
+        Mon, 20 Aug 2012 23:40:20 -0700 (PDT)
+Received: by 10.236.195.97 with SMTP id o61mr24210886yhn.17.1345531220620;
+        Mon, 20 Aug 2012 23:40:20 -0700 (PDT)
+Return-Path: <airlied at redhat.com>
+Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28])
+        by mx.google.com with ESMTP id c5si239413anp.5.2012.08.20.23.40.20;
+        Mon, 20 Aug 2012 23:40:20 -0700 (PDT)
+Received-SPF: pass (google.com: domain of airlied at redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28;
+Authentication-Results: mx.google.com; spf=pass (google.com: domain of airlied at redhat.com designates 209.132.183.28 as permitted sender) smtp.mail=airlied at redhat.com
+Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])
+	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q7L6eJ4K014799
+	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
+	Tue, 21 Aug 2012 02:40:19 -0400
+Received: from prime.bne.redhat.com (dhcp-41-76.bne.redhat.com [10.64.41.76])
+	by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q7L6eFfB029177;
+	Tue, 21 Aug 2012 02:40:16 -0400
+From: Dave Airlie <airlied at redhat.com>
+To: linux-fbdev at vger.kernel.org
+Cc: dri-devel at lists.sf.net, linux-kernel at vger.kernel.org,
+        Linus <torvalds at linux-foundation.org>,
+        Alan Cox <alan at lxorguk.ukuu.org.uk>,
+        Randy Dunlap <rdunlap at xenotime.net>, Josh Boyer <jwboyer at gmail.com>,
+        Dave Airlie <airlied at redhat.com>
+Subject: [PATCH] fbcon: fix race condition between console lock and cursor timer
+Date: Tue, 21 Aug 2012 16:40:07 +1000
+Message-Id: <1345531207-24926-1-git-send-email-airlied at redhat.com>
+X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11
+
+So we've had a fair few reports of fbcon handover breakage between
+efi/vesafb and i915 surface recently, so I dedicated a couple of
+days to finding the problem.
+
+Essentially the last thing we saw was the conflicting framebuffer
+message and that was all.
+
+So after much tracing with direct netconsole writes (printks
+under console_lock not so useful), I think I found the race.
+
+Thread A (driver load)    Thread B (timer thread)
+  unbind_con_driver ->              |
+  bind_con_driver ->                |
+  vc->vc_sw->con_deinit ->          |
+  fbcon_deinit ->                   |
+  console_lock()                    |
+      |                             |
+      |                       fbcon_flashcursor timer fires
+      |                       console_lock() <- blocked for A
+      |
+      |
+fbcon_del_cursor_timer ->
+  del_timer_sync
+  (BOOM)
+
+Of course because all of this is under the console lock,
+we never see anything, also since we also just unbound the active
+console guess what we never see anything.
+
+Hopefully this fixes the problem for anyone seeing vesafb->kms
+driver handoff.
+
+Signed-off-by: David Airlie <airlied at redhat.com>
+---
+ drivers/video/console/fbcon.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
+index 2e471c2..f8a79fc 100644
+--- a/drivers/video/console/fbcon.c
++++ b/drivers/video/console/fbcon.c
+@@ -372,8 +372,12 @@ static void fb_flashcursor(struct work_struct *work)
+ 	struct vc_data *vc = NULL;
+ 	int c;
+ 	int mode;
++	int ret;
++
++	ret = console_trylock();
++	if (ret == 0)
++		return;
+ 
+-	console_lock();
+ 	if (ops && ops->currcon != -1)
+ 		vc = vc_cons[ops->currcon].d;
+ 
+-- 
+1.7.10.2
+


More information about the scm-commits mailing list