Fix fastboot boot address
authorPeter Chubb <Peter.Chubb@data61.csiro.au>
Thu, 8 Sep 2016 20:51:57 +0000 (20:51 +0000)
committerMarek Vasut <marex@denx.de>
Mon, 21 Aug 2017 09:31:10 +0000 (11:31 +0200)
Fastboot loads an image at CONFIG_FASTBOOT_BUF_ADDR, but currently
tells do_bootm() to look for an image at $loadaddr.  This breaks if
CONFIG_FASTBOOT_BUF_ADDR is different from the current user-set
loadaddr.

Instead, tell do_bootm() to pick up the image where it was laoded.

Signed-off-by: Peter Chubb <peter.chubb@data61.csiro.au>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Steve Rae <steve.rae@raedomain.com>
drivers/usb/gadget/f_fastboot.c

index d05b74b2d2afe2270e77d532a5ab459e7b785b90..aecee7ff3803ba6a7304eb84ace9fb10d60623f8 100644 (file)
@@ -561,7 +561,7 @@ static void do_bootm_on_complete(struct usb_ep *ep, struct usb_request *req)
 
        puts("Booting kernel..\n");
 
-       sprintf(boot_addr_start, "0x%lx", load_addr);
+       sprintf(boot_addr_start, "0x%lx", CONFIG_FASTBOOT_BUF_ADDR);
        do_bootm(NULL, 0, 2, bootm_args);
 
        /* This only happens if image is somehow faulty so we start over */