biosemu: Do not free vga_info->BIOSImage when it is 0xc0000
[oweals/u-boot.git] / drivers / dfu / dfu.c
index 648f26105da975e549e89b12917529691dab1877..0560afa9ffa500b1d49a5c911268d8c6bd1070e0 100644 (file)
@@ -55,6 +55,9 @@ int dfu_init_env_entities(char *interface, char *devstr)
        char *env_bkp;
        int ret;
 
+#ifdef CONFIG_SET_DFU_ALT_INFO
+       set_dfu_alt_info(interface, devstr);
+#endif
        str_env = getenv("dfu_alt_info");
        if (!str_env) {
                error("\"dfu_alt_info\" env variable not defined!\n");
@@ -95,8 +98,12 @@ unsigned char *dfu_get_buf(struct dfu_entity *dfu)
                return dfu_buf;
 
        s = getenv("dfu_bufsiz");
-       dfu_buf_size = s ? (unsigned long)simple_strtol(s, NULL, 16) :
-                       CONFIG_SYS_DFU_DATA_BUF_SIZE;
+       if (s)
+               dfu_buf_size = (unsigned long)simple_strtol(s, NULL, 0);
+
+       if (!s || !dfu_buf_size)
+               dfu_buf_size = CONFIG_SYS_DFU_DATA_BUF_SIZE;
+
        if (dfu->max_buf_size && dfu_buf_size > dfu->max_buf_size)
                dfu_buf_size = dfu->max_buf_size;