there's below one line shift problem:

                     ACPI=0xdabfe000  ACPI 2.0=0xdabfe014  SMBIOS=0xdaa9e000
[    0.000000] efi:  

In fact check efi_y and the lfb_height should be compared at the begin of the
loop of early_efi_write

Signed-off-by: Dave Young <[email protected]>
---
 arch/x86/platform/efi/early_printk.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.orig/arch/x86/platform/efi/early_printk.c
+++ linux-2.6/arch/x86/platform/efi/early_printk.c
@@ -106,6 +106,15 @@ early_efi_write(struct console *con, con
                if (count > linemax)
                        count = linemax;
 
+               if (efi_y + font->height >= si->lfb_height) {
+                       u32 i;
+
+                       efi_y -= font->height;
+                       early_efi_scroll_up();
+
+                       for (i = 0; i < font->height; i++)
+                               early_efi_clear_scanline(efi_y + i);
+               }
                for (h = 0; h < font->height; h++) {
                        unsigned int n, x;
 
@@ -142,15 +151,6 @@ early_efi_write(struct console *con, con
                        efi_y += font->height;
                }
 
-               if (efi_y + font->height >= si->lfb_height) {
-                       u32 i;
-
-                       efi_y -= font->height;
-                       early_efi_scroll_up();
-
-                       for (i = 0; i < font->height; i++)
-                               early_efi_clear_scanline(efi_y + i);
-               }
        }
 }
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to