[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #49814] vbe does not reset display start
From: |
Stas Sergeev |
Subject: |
[bug #49814] vbe does not reset display start |
Date: |
Thu, 5 Jul 2018 09:58:54 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0 |
Follow-up Comment #6, bug #49814 (project grub):
As this bug keeps hitting all i915 notebooks
(read: all notebooks), I had to dig a bit more.
The fix is attached.
> May be we need wrapper around ->fini() method that resets
> current page (moving code from
> grub_video_fb_get_info_and_fini()).
I tried that and this didn't work.
Below are the 2 code pathes:
1.
grub_video_get_info_and_fini() ->
grub_video_vbe_get_info_and_fini() ->
grub_video_fb_get_info_and_fini() ->
{ set_page(); grub_video_fb_fini() }
2.
grub_video_set_mode() ->
grub_video_vbe_fini() ->
{ grub_vbe_bios_set_mode(); grub_video_fb_fini() }
If you move set_page() to grub_video_fb_fini(),
then it will work for case 1 but not for case 2,
as in case 2 it will be called _after_ grub_vbe_bios_set_mode(),
yielding no results. Of course I could also move
grub_video_fb_fini() before grub_vbe_bios_set_mode(),
but not knowing the grub code well enough I was
afraid that then grub_vbe_bios_set_mode() will
use some already freed resources.
So I attached the simplest possible solution that
can't potentially break anything.
What do you think?
(file #44509)
_______________________________________________________
Additional Item Attachment:
File name: 0001-reset-display_start-before-switching-mode.patch Size:1 KB
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?49814>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #49814] vbe does not reset display start,
Stas Sergeev <=