diff options
| -rw-r--r-- | stand/common/gfx_fb.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/stand/common/gfx_fb.c b/stand/common/gfx_fb.c index 659bf8540422..3ac3694ce5fe 100644 --- a/stand/common/gfx_fb.c +++ b/stand/common/gfx_fb.c @@ -83,6 +83,7 @@ */ #include <sys/param.h> +#include <assert.h> #include <stand.h> #include <teken.h> #include <gfx_fb.h> @@ -856,7 +857,7 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, int rv; #if defined(EFI) EFI_STATUS status; - EFI_GRAPHICS_OUTPUT *gop = gfx_state.tg_private; + EFI_GRAPHICS_OUTPUT *gop; EFI_TPL tpl; /* @@ -866,7 +867,10 @@ gfxfb_blt(void *BltBuffer, GFXFB_BLT_OPERATION BltOperation, * done as they are provided by protocols that disappear when exit * boot services. */ - if (!ignore_gop_blt && gop != NULL && boot_services_active) { + if (gfx_state.tg_fb_type == FB_GOP && !ignore_gop_blt && + boot_services_active) { + assert(gfx_state.tg_private != NULL); + gop = gfx_state.tg_private; tpl = BS->RaiseTPL(TPL_NOTIFY); switch (BltOperation) { case GfxFbBltVideoFill: |
