mirror of
https://dev.iopsys.eu/bbf/icwmp.git
synced 2025-12-10 07:44:41 +01:00
Fix missing 'M Reboot' after '6 Stored Firmware Image'
This commit is contained in:
parent
66a9898442
commit
fb2269b315
1 changed files with 4 additions and 18 deletions
|
|
@ -425,26 +425,13 @@ int cwmp_apply_multiple_firmware()
|
||||||
}
|
}
|
||||||
//wait until the apply completes
|
//wait until the apply completes
|
||||||
wait_firmware_to_be_applied(bank_id);
|
wait_firmware_to_be_applied(bank_id);
|
||||||
|
|
||||||
|
//set /var/state 'switch_bank' option
|
||||||
|
set_uci_path_value(VARSTATE_CONFIG, "icwmp.cpe.switch_bank", "1");
|
||||||
|
|
||||||
return CWMP_OK;
|
return CWMP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *apply_multiple_firmware_task_function(char *task __attribute__((unused)))
|
|
||||||
{
|
|
||||||
int ret = cwmp_apply_multiple_firmware();
|
|
||||||
|
|
||||||
char *ret_str = (char *)malloc(2 * sizeof(char));
|
|
||||||
snprintf(ret_str, 2, "%d", ret);
|
|
||||||
ret_str[1] = 0;
|
|
||||||
return ret_str;
|
|
||||||
}
|
|
||||||
|
|
||||||
int cwmp_apply_multiple_firmware_in_subprocess()
|
|
||||||
{
|
|
||||||
subprocess_start(apply_multiple_firmware_task_function);
|
|
||||||
char *ret = execute_task_in_subprocess("{}"); //empty json object
|
|
||||||
return ret ? (int)strtol(ret, NULL, 10) : 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
int cwmp_launch_download(struct download *pdownload, char *download_file_name, enum load_type ltype, struct transfer_complete **ptransfer_complete)
|
int cwmp_launch_download(struct download *pdownload, char *download_file_name, enum load_type ltype, struct transfer_complete **ptransfer_complete)
|
||||||
{
|
{
|
||||||
int error = FAULT_CPE_NO_FAULT;
|
int error = FAULT_CPE_NO_FAULT;
|
||||||
|
|
@ -653,7 +640,6 @@ int apply_downloaded_file(struct download *pdownload, char *download_file_name,
|
||||||
|
|
||||||
} else if (CWMP_STRCMP(pdownload->file_type, STORED_FIRMWARE_IMAGE_FILE_TYPE) == 0) {
|
} else if (CWMP_STRCMP(pdownload->file_type, STORED_FIRMWARE_IMAGE_FILE_TYPE) == 0) {
|
||||||
int err = cwmp_apply_multiple_firmware();
|
int err = cwmp_apply_multiple_firmware();
|
||||||
//int err = cwmp_apply_multiple_firmware_in_subprocess();
|
|
||||||
if (err == CWMP_OK)
|
if (err == CWMP_OK)
|
||||||
error = FAULT_CPE_NO_FAULT;
|
error = FAULT_CPE_NO_FAULT;
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue