linux-mips
[Top] [All Lists]

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

To: Paul Mundt <lethal@linux-sh.org>
Subject: Re: [BUG] drivers/video/sis: deadlock introduced by "fbdev: add mutex for fb_mmap locking"
From: Krzysztof Helt <krzysztof.h1@poczta.fm>
Date: Sun, 5 Jul 2009 18:43:19 +0200
Cc: Linus Torvalds <torvalds@linux-foundation.org>, Wu Zhangjin <wuzhangjin@gmail.com>, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@linux-mips.org, Krzysztof Helt <krzysztof.h1@wp.pl>, Peter Zijlstra <a.p.zijlstra@chello.nl>, "Rafael J. Wysocki" <rjw@sisk.pl>, Andrew Morton <akpm@linux-foundation.org>, Ralf Baechle <ralf@linux-mips.org>, ???? <yanh@lemote.com>, zhangfx <zhangfx@lemote.com>
In-reply-to: <20090705152557.GA10588@linux-sh.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1246785112.14240.34.camel@falcon> <alpine.LFD.2.01.0907050715490.3210@localhost.localdomain> <20090705145203.GA8326@linux-sh.org> <alpine.LFD.2.01.0907050756280.3210@localhost.localdomain> <20090705150134.GB8326@linux-sh.org> <alpine.LFD.2.01.0907050816110.3210@localhost.localdomain> <20090705152557.GA10588@linux-sh.org>
Sender: linux-mips-bounce@linux-mips.org
On Mon, 6 Jul 2009 00:25:57 +0900
Paul Mundt <lethal@linux-sh.org> wrote:

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

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 
register_framebuffer().

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,
Krzysztof

----------------------------------------------------------------------
Promocja ubezpieczen komunikacyjnych Ergo Hestia. Sprawdz!
http://link.interia.pl/f222f


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