[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #59240] Enumerating VBE modes can abort halfway through
From: |
INVALID.NOREPLY |
Subject: |
[bug #59240] Enumerating VBE modes can abort halfway through |
Date: |
Fri, 9 Oct 2020 04:18:15 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 |
URL:
<https://savannah.gnu.org/bugs/?59240>
Summary: Enumerating VBE modes can abort halfway through
Project: GNU GRUB
Submitted by: qwertial
Submitted on: Fri 09 Oct 2020 08:18:13 AM UTC
Category: User Interface
Severity: Major
Priority: 5 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Release:
Release: Git master
Discussion Lock: Any
Reproducibility: Every Time
Planned Release: None
_______________________________________________________
Details:
grub-core/video/i386/vbe.c:
for (p = vbe_mode_list; *p != 0xFFFF; p++)
{
grub_vbe_get_video_mode_info (*p, &vbe_mode_info);
if (grub_errno != GRUB_ERR_NONE)
{
/* Could not retrieve mode info, retreat. */
grub_errno = GRUB_ERR_NONE;
break;
}
vbe2videoinfo (*p, &vbe_mode_info, &mode_info);
if (hook (&mode_info, hook_arg))
return 1;
}
return 0;
The break should have been a continue. Otherwise, GRUB will stop enumerating
VBE modes as soon as one 0x4f01 call returns failure. I happen to have a video
BIOS where the very first mode in the list returned from 0x4f00 (and a number
of modes that follow) does not actually work, but the video BIOS is otherwise
fully functional.
RBIL warns against this very situation in the entry covering the 0x4f00 call:
> not all of the video modes in the list of mode numbers may be
> supported, e.g. if they require more memory than currently installed
> or are not supported by the attached monitor. Check any mode you
> intend to use through AX=4F01h first.
So it should be expected that some modes may fail to work, but that has no
bearing on whether any subsequent modes will.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?59240>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug #59240] Enumerating VBE modes can abort halfway through,
INVALID.NOREPLY <=