aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/fb/vga.c
diff options
context:
space:
mode:
authorKazutaka YOKOTA <yokota@FreeBSD.org>1999-12-07 11:23:58 +0000
committerKazutaka YOKOTA <yokota@FreeBSD.org>1999-12-07 11:23:58 +0000
commit0be01624315368ccf8659fa0d99edf54379e60f6 (patch)
tree404e26d4b22e22070dbc5f2eeef50ad2fb101eea /sys/dev/fb/vga.c
parent4332f82d595f37b9ca2b4bb0c4fbaf27543e16a6 (diff)
downloadsrc-0be01624315368ccf8659fa0d99edf54379e60f6.tar.gz
src-0be01624315368ccf8659fa0d99edf54379e60f6.zip
Fix the ioctl CONS_FINDMODE and its underlying subroutine
xxx_query_mode() in the vga and vesa drivers. - xxx_query_mode() returns 0 (success) and a positive error number. - Copy mode information on success. - Remove redundant structure copy. The bug first found in -STABLE by jmg.
Notes
Notes: svn path=/head/; revision=54258
Diffstat (limited to 'sys/dev/fb/vga.c')
-rw-r--r--sys/dev/fb/vga.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/fb/vga.c b/sys/dev/fb/vga.c
index 6c96dae439a7..f733e4745fba 100644
--- a/sys/dev/fb/vga.c
+++ b/sys/dev/fb/vga.c
@@ -1441,11 +1441,10 @@ vga_get_info(video_adapter_t *adp, int mode, video_info_t *info)
static int
vga_query_mode(video_adapter_t *adp, video_info_t *info)
{
- video_info_t buf;
int i;
if (!vga_init_done)
- return -1;
+ return ENXIO;
for (i = 0; bios_vmode[i].vi_mode != EOT; ++i) {
if (bios_vmode[i].vi_mode == NA)
@@ -1475,11 +1474,11 @@ vga_query_mode(video_adapter_t *adp, video_info_t *info)
continue;
/* verify if this mode is supported on this adapter */
- if (vga_get_info(adp, bios_vmode[i].vi_mode, &buf))
+ if (vga_get_info(adp, bios_vmode[i].vi_mode, info))
continue;
- return bios_vmode[i].vi_mode;
+ return 0;
}
- return -1;
+ return ENODEV;
}
/*