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

From: Krzysztof Helt
Date: Sun Jul 05 2009 - 12:34:18 EST


On Mon, 6 Jul 2009 00:25:57 +0900
Paul Mundt <lethal@xxxxxxxxxxxx> wrote:

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

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/