|
|
@@ -60,15 +60,20 @@ int nv_restore_soc(void){
|
|
|
success0 = nv_restore_soc_by_backup(0, &soc0);
|
|
|
success1 = nv_restore_soc_by_backup(1, &soc1);
|
|
|
printf("back %d-%d\n", success0, success1);
|
|
|
- if ((success0 == 0) && (success1 != 0)){
|
|
|
- nv_save_soc_by_backup(1);
|
|
|
- *get_soc() = soc0;
|
|
|
- }
|
|
|
-
|
|
|
- if ((success0 != 0) && (success1 == 0)){
|
|
|
- nv_save_soc_by_backup(0);
|
|
|
- *get_soc() = soc1;
|
|
|
- }
|
|
|
+
|
|
|
+ if (success0 == 0 || success1 == 0){
|
|
|
+ if (success1 != 0){
|
|
|
+ nv_save_soc_by_backup(1);
|
|
|
+ }
|
|
|
+ if (success0 != 0){
|
|
|
+ nv_save_soc_by_backup(0);
|
|
|
+ }
|
|
|
+ if (success0 == 0){
|
|
|
+ *get_soc() = soc0;
|
|
|
+ }else if (success1 == 0){
|
|
|
+ *get_soc() = soc1;
|
|
|
+ }
|
|
|
+ }
|
|
|
return ((success0 == 0) || (success1 == 0))?0:-1;
|
|
|
}
|
|
|
|