[tip:x86/efi] x86, efi: Fix display detection in EFI boot stub

From: tip-bot for David Woodhouse
Date: Sun Jan 27 2013 - 23:31:19 EST


Commit-ID: 70a479cbe80296d3113e65cc2f713a5101061daf
Gitweb: http://git.kernel.org/tip/70a479cbe80296d3113e65cc2f713a5101061daf
Author: David Woodhouse <David.Woodhouse@xxxxxxxxx>
AuthorDate: Mon, 7 Jan 2013 21:52:16 +0000
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Sun, 27 Jan 2013 20:19:37 -0800

x86, efi: Fix display detection in EFI boot stub

When booting under OVMF we have precisely one GOP device, and it
implements the ConOut protocol.

We break out of the loop when we look at it... and then promptly abort
because 'first_gop' never gets set. We should set first_gop *before*
breaking out of the loop. Yes, it doesn't really mean "first" any more,
but that doesn't matter. It's only a flag to indicate that a suitable
GOP was found.

In fact, we'd do just as well to initialise 'width' to zero in this
function, then just check *that* instead of first_gop. But I'll do the
minimal fix for now (and for stable@).

Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
Cc: <stable@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/1358513837.2397.247.camel@xxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
Cc: Matt Fleming <matt.fleming@xxxxxxxxx>
---
arch/x86/boot/compressed/eboot.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
index 18e329c..448a86e 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
@@ -432,10 +432,9 @@ static efi_status_t setup_gop(struct screen_info *si, efi_guid_t *proto,
* Once we've found a GOP supporting ConOut,
* don't bother looking any further.
*/
+ first_gop = gop;
if (conout_found)
break;
-
- first_gop = gop;
}
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/