[3.8.y.z extended stable] Patch "drm/nouveau/bios: make jump conditional" has been added to staging queue
Kamal Mostafa
kamal at canonical.com
Wed Jan 15 17:45:25 UTC 2014
This is a note to let you know that I have just added a patch titled
drm/nouveau/bios: make jump conditional
to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
This patch is scheduled to be released in version 3.8.13.16.
If you, or anyone else, feels it should not be added to this tree, please
reply to this email.
For more information about the 3.8.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks.
-Kamal
------
>From 6da692fac6ace56645b7618d5764353905dbc430 Mon Sep 17 00:00:00 2001
From: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun, 5 Jan 2014 20:07:02 -0500
Subject: drm/nouveau/bios: make jump conditional
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
commit 6d60792ec059d9f2139828f9f017679abb81aa73 upstream.
This fixes a hang in VBIOS scripts of the form "condition; jump".
The jump used to always be executed, while now it will only be
executed if the condition is true.
See https://bugs.freedesktop.org/show_bug.cgi?id=72943
Reported-by: Darcy BrĂ¡s da Silva <dardevelin at cidadecool.com>
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
drivers/gpu/drm/nouveau/core/subdev/bios/init.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/init.c b/drivers/gpu/drm/nouveau/core/subdev/bios/init.c
index ad6662c..9e0cb43 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/bios/init.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/bios/init.c
@@ -1262,7 +1262,11 @@ init_jump(struct nvbios_init *init)
u16 offset = nv_ro16(bios, init->offset + 1);
trace("JUMP\t0x%04x\n", offset);
- init->offset = offset;
+
+ if (init_exec(init))
+ init->offset = offset;
+ else
+ init->offset += 3;
}
/**
--
1.8.3.2
More information about the kernel-team
mailing list