Skip to content

Commit c3fe1be

Browse files
sigvartmhcarlescufi
authored andcommitted
dfu: dfu_target_modem: Bugfix for offset not dirty but area not empty
When a full modem firmware is flashed to the modem. The offset returned could be 0 but the area which is attempted to be written to is not empty. This adds a check for this specific error case. Signed-off-by: Sigvart Hovland <[email protected]>
1 parent b15cd28 commit c3fe1be

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

subsys/dfu/src/dfu_target_modem.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,17 @@ int dfu_target_modem_write(const void *const buf, size_t len)
195195
} else {
196196
return 0;
197197
}
198+
case DFU_AREA_NOT_BLANK:
199+
delete_banked_modem_fw();
200+
err = dfu_target_modem_write(buf, len);
201+
if (err < 0) {
202+
return -EINVAL;
203+
} else {
204+
return 0;
205+
}
206+
default:
207+
return -EFAULT;
198208
}
199-
200-
return -EFAULT;
201209
}
202210

203211
int dfu_target_modem_done(bool successful)

0 commit comments

Comments
 (0)