[Top] [All Lists]

Re: [BUG] drivers/video/sis: deadlock introduced by "fbdev: add mutex fo

To: Paul Mundt <>
Subject: Re: [BUG] drivers/video/sis: deadlock introduced by "fbdev: add mutex for fb_mmap locking"
From: Krzysztof Helt <>
Date: Sun, 5 Jul 2009 18:43:19 +0200
Cc: Linus Torvalds <>, Wu Zhangjin <>,,,, Krzysztof Helt <>, Peter Zijlstra <>, "Rafael J. Wysocki" <>, Andrew Morton <>, Ralf Baechle <>, ???? <>, zhangfx <>
In-reply-to: <>
Original-recipient: rfc822;
References: <1246785112.14240.34.camel@falcon> <alpine.LFD.2.01.0907050715490.3210@localhost.localdomain> <> <alpine.LFD.2.01.0907050756280.3210@localhost.localdomain> <> <alpine.LFD.2.01.0907050816110.3210@localhost.localdomain> <>
On Mon, 6 Jul 2009 00:25:57 +0900
Paul Mundt <> wrote:

> Ok, here is an updated version with an updated matroxfb and the sm501fb
> change reverted.
> Signed-off-by: Paul Mundt <>

Here is a patch which should fix problem with sm501fb driver:

diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c
index 16d4f4c..924d794 100644
--- a/drivers/video/sm501fb.c
+++ b/drivers/video/sm501fb.c
@@ -1540,9 +1540,6 @@ static int sm501fb_init_fb(struct fb_info *fb,
        if (ret)
                dev_err(info->dev, "check_var() failed on initial setup?\n");
-       /* ensure we've activated our new configuration */
-       (fb->fbops->fb_set_par)(fb);
        return 0;

Paul, please test it (without additional initialization of the mm_lock mutext). 
I will post the patch
if it works for you.

An issue here is that these drivers calls fb_set_par() function (or part of it 
as the sisfb driver) 
but the register_framebuffer() calls the fb_set_par() also after all structures 
are set up. There
should be no need to call the fb_set_par() just before the 

The matroxfb driver is quite far from standard driver framework by now. I vote 
for fixing it
by adding this early initialization of the mm_mutex for now.

Kind regards,

Promocja ubezpieczen komunikacyjnych Ergo Hestia. Sprawdz!

<Prev in Thread] Current Thread [Next in Thread>