sunxi: H6: Add DDR3-1333 timings
[oweals/u-boot.git] / drivers / dfu / dfu.c
index 2c22b625b8bdff3eeecc4d932570a711e8936b16..318949529b302db73867f4bd311aa6203539fe7b 100644 (file)
@@ -1,10 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * dfu.c -- DFU back-end routines
  *
  * Copyright (C) 2012 Samsung Electronics
  * author: Lukasz Majewski <l.majewski@samsung.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
@@ -57,7 +56,7 @@ int dfu_init_env_entities(char *interface, char *devstr)
 {
        const char *str_env;
        char *env_bkp;
-       int ret;
+       int ret = 0;
 
 #ifdef CONFIG_SET_DFU_ALT_INFO
        set_dfu_alt_info(interface, devstr);
@@ -72,11 +71,13 @@ int dfu_init_env_entities(char *interface, char *devstr)
        ret = dfu_config_entities(env_bkp, interface, devstr);
        if (ret) {
                pr_err("DFU entities configuration failed!\n");
-               return ret;
+               pr_err("(partition table does not match dfu_alt_info?)\n");
+               goto done;
        }
 
+done:
        free(env_bkp);
-       return 0;
+       return ret;
 }
 
 static unsigned char *dfu_buf;
@@ -463,7 +464,7 @@ int dfu_config_entities(char *env, char *interface, char *devstr)
                ret = dfu_fill_entity(&dfu[i], s, alt_num_cnt, interface,
                                      devstr);
                if (ret) {
-                       free(dfu);
+                       /* We will free "dfu" in dfu_free_entities() */
                        return -1;
                }