Signed-off-by: Roy Franz <roy.fr...@linaro.org>
---
 drivers/firmware/efi/efi-stub-helper.c |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/firmware/efi/efi-stub-helper.c 
b/drivers/firmware/efi/efi-stub-helper.c
index 40cd16e..1d0a079 100644
--- a/drivers/firmware/efi/efi-stub-helper.c
+++ b/drivers/firmware/efi/efi-stub-helper.c
@@ -46,10 +46,11 @@ static void efi_printk(efi_system_table_t *sys_table_arg, 
char *str)
 }
 
 
-static efi_status_t __get_map(efi_system_table_t *sys_table_arg,
-                             efi_memory_desc_t **map,
-                             unsigned long *map_size,
-                             unsigned long *desc_size)
+static efi_status_t efi_get_memory_map(efi_system_table_t *sys_table_arg,
+                                      efi_memory_desc_t **map,
+                                      unsigned long *map_size,
+                                      unsigned long *desc_size,
+                                      unsigned long *key_ptr)
 {
        efi_memory_desc_t *m = NULL;
        efi_status_t status;
@@ -77,6 +78,8 @@ again:
 
        if (status != EFI_SUCCESS)
                efi_call_phys1(sys_table_arg->boottime->free_pool, m);
+       if (key_ptr && status == EFI_SUCCESS)
+               *key_ptr = key;
 
 fail:
        *map = m;
@@ -97,7 +100,8 @@ static efi_status_t efi_high_alloc(efi_system_table_t 
*sys_table_arg,
        u64 max_addr = 0;
        int i;
 
-       status = __get_map(sys_table_arg, &map, &map_size, &desc_size);
+       status = efi_get_memory_map(sys_table_arg, &map, &map_size, &desc_size,
+                                   NULL);
        if (status != EFI_SUCCESS)
                goto fail;
 
@@ -175,7 +179,8 @@ static efi_status_t efi_low_alloc(efi_system_table_t 
*sys_table_arg,
        unsigned long nr_pages;
        int i;
 
-       status = __get_map(sys_table_arg, &map, &map_size, &desc_size);
+       status = efi_get_memory_map(sys_table_arg, &map, &map_size, &desc_size,
+                                   NULL);
        if (status != EFI_SUCCESS)
                goto fail;
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
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