usb/class/usb_dfu: support progressive image erase
Disable bulk slot image erase when progressive erase is on.
Erase of image bank is performed by image collection procedure
progressively.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
diff --git a/subsys/usb/class/usb_dfu.c b/subsys/usb/class/usb_dfu.c
index 5d56745..3aee0c8 100644
--- a/subsys/usb/class/usb_dfu.c
+++ b/subsys/usb/class/usb_dfu.c
@@ -746,11 +746,17 @@
switch (dfu_data_worker.worker_state) {
case dfuIDLE:
+/*
+ * If progressive erase is enabled, then erase take place while
+ * image collection, so not erase whole bank at DFU beginning
+ */
+#ifndef CONFIG_IMG_ERASE_PROGRESSIVELY
if (boot_erase_img_bank(DT_FLASH_AREA_IMAGE_1_ID)) {
dfu_data.state = dfuERROR;
dfu_data.status = errERASE;
break;
}
+#endif
case dfuDNLOAD_IDLE:
dfu_flash_write(dfu_data_worker.buf,
dfu_data_worker.worker_len);