aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stand/common/gfx_fb.c8
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: