dfu: Fix handling of UBI partitions in MTD backend
authorGuillermo Rodriguez <guille.rodriguez@gmail.com>
Wed, 2 Sep 2020 11:06:06 +0000 (13:06 +0200)
committerMarek Vasut <marex@denx.de>
Sun, 31 Jan 2021 13:08:56 +0000 (14:08 +0100)
For UBI partitions ("partubi" in dfu_alt_info), dfu_fill_entity_mtd sets
the mtd.ubi flag; however other functions incorrectly check for nand.ubi
instead. Fix this by checking for the correct flag.

Signed-off-by: Guillermo Rodriguez <guille.rodriguez@gmail.com>
Cc: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
drivers/dfu/dfu_mtd.c

index b34975d..ca67585 100644 (file)
@@ -204,7 +204,7 @@ static int dfu_flush_medium_mtd(struct dfu_entity *dfu)
        int ret;
 
        /* in case of ubi partition, erase rest of the partition */
-       if (dfu->data.nand.ubi) {
+       if (dfu->data.mtd.ubi) {
                struct erase_info erase_op = {};
 
                erase_op.mtd = dfu->data.mtd.info;
@@ -242,7 +242,7 @@ static unsigned int dfu_polltimeout_mtd(struct dfu_entity *dfu)
         * ubi partition, as sectors which are not used need
         * to be erased
         */
-       if (dfu->data.nand.ubi)
+       if (dfu->data.mtd.ubi)
                return DFU_MANIFEST_POLL_TIMEOUT;
 
        return DFU_DEFAULT_POLL_TIMEOUT;