efi: Update the correct copy of hdr
authorMatt Fleming <matt.fleming@intel.com>
Tue, 11 Sep 2012 16:28:09 +0000 (17:28 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Tue, 11 Sep 2012 17:21:04 +0000 (18:21 +0100)
There are two struct linux_header variables in efi_boot(), only one of
which points to the boot params that we pass to the kernel we're
booting. Fix the initramfs code to update the correct variable,
otherwise the kernel won't know about any initramfs we've loaded.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
efi/main.c

index f3f92f5..e31d529 100644 (file)
@@ -905,8 +905,8 @@ int efi_boot_linux(void *kernel_buf, size_t kernel_size,
                        goto free_map;
                }
 
-               hdr->ramdisk_image = (uint32_t)last;
-               hdr->ramdisk_size = irf_size;
+               bhdr->ramdisk_image = (uint32_t)last;
+               bhdr->ramdisk_size = irf_size;
 
                /* Copy initramfs into allocated memory */
                for (ip = initramfs->next; ip->len; ip = ip->next) {