From: "Antonino A. Daplas" A few drivers call fb_find_mode() even if compiled as a module. If the modedb parameter is NULL, the function will use default modedb array which is marked __init. This will cause a crash. To avoid this, check if the driver is compiled as a module, and if it is, fail. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/modedb.c | 4 ++++ 1 files changed, 4 insertions(+) diff -puN drivers/video/modedb.c~fbdev-make-fb_find_mode-return-failure-if-modular drivers/video/modedb.c --- 25/drivers/video/modedb.c~fbdev-make-fb_find_mode-return-failure-if-modular Thu Feb 17 17:21:32 2005 +++ 25-akpm/drivers/video/modedb.c Thu Feb 17 17:21:32 2005 @@ -474,11 +474,15 @@ int fb_find_mode(struct fb_var_screeninf { int i; + if (!db && (info->flags & FBINFO_MODULE)) + return 0; + /* Set up defaults */ if (!db) { db = modedb; dbsize = sizeof(modedb)/sizeof(*modedb); } + if (!default_mode) default_mode = &modedb[DEFAULT_MODEDB_INDEX]; if (!default_bpp) _