vesafb probe question
From: <hidden>
Date: 2005-01-07 21:03:38
I'm getting a message in dmesg: "localhost kernel: vesafb: probe of
vesafb0 failed with error -6"
I searched the web, and found that a lot of people are getting this, but
I couldn't find an answer, so I looked into it.
This appears to be because "vesafb" returns -ENXIO ("No such device or
address") when its probe function fails. However, driverse/base/bus.c
spews an error message during device_attach() if a matching driver's
probe function returns anything but -ENODEV ("No such device").
Would a patch (like the one below) to change vesafb to return ENODEV
instead of ENXIO be appropriate, or am I missing something?
Thanks!
Stuart
stuart_hayes@dell.com
diff -purN linux-2.6.9-1.906_ELorig/drivers/video/vesafb.c
linux-2.6.9-1.906_EL/drivers/video/vesafb.c--- linux-2.6.9-1.906_ELorig/drivers/video/vesafb.c 2004-10-1817:53:11.000000000 -0400
+++ linux-2.6.9-1.906_EL/drivers/video/vesafb.c 2005-01-0614:45:18.000000000 -0500
@@ -222,7 +222,7 @@ static int __init vesafb_probe(struct de int i, err; if (screen_info.orig_video_isVGA != VIDEO_TYPE_VLFB) - return -ENXIO; + return -ENODEV; vesafb_fix.smem_start = screen_info.lfb_base; vesafb_defined.bits_per_pixel = screen_info.lfb_depth;
@@ -380,7 +380,7 @@ static int __init vesafb_probe(struct de (ypan) ? FBINFO_HWACCEL_YPAN : 0; if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) { - err = -ENXIO; + err = -ENODEV; goto err; } if (register_framebuffer(info)<0) {