I'm actually not 100% certain what the best/right fix for this is.
In the old days of uc16/uc18 we had a combined "snap_mode" that went from try->trying->"" and if that failed it would unset both snap_try_kernel and snap_try_base. However in uc20 we have a "base_status=try" and a independent bootloader setting for the "kernel_status=try".
For robustness we should probably:
1. ensure that no base/kernel that is in use can be cleaned up in the undo code
I'm actually not 100% certain what the best/right fix for this is.
In the old days of uc16/uc18 we had a combined "snap_mode" that went from try->trying->"" and if that failed it would unset both snap_try_kernel and snap_try_base. However in uc20 we have a "base_status=try" and a independent bootloader setting for the "kernel_ status= try".
For robustness we should probably:
1. ensure that no base/kernel that is in use can be cleaned up in the undo code