diff options
Diffstat (limited to 'extra/usb_updater/gsctool.c')
-rw-r--r-- | extra/usb_updater/gsctool.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c index 6db8f7cb10..4540814e56 100644 --- a/extra/usb_updater/gsctool.c +++ b/extra/usb_updater/gsctool.c @@ -296,6 +296,8 @@ static const struct option_container cmd_line_options[] = { "Set or clear CCD password. Use 'clear:<cur password>' to clear it"}, {{"post_reset", no_argument, NULL, 'p'}, "Request post reset after transfer"}, + {{"force_ro", no_argument, NULL, 'q'}, + "Force inactive RO update"}, {{"sn_rma_inc", required_argument, NULL, 'R'}, "RMA_INC%Increment SN RMA count by RMA_INC. RMA_INC should be 0-7."}, {{"rma_auth", optional_argument, NULL, 'r'}, @@ -1013,7 +1015,8 @@ static void pick_sections(struct transfer_descriptor *td) * Is it newer in the new image than the running RO section on * the device? */ - if (a_newer_than_b(§ions[i].shv, &targ.shv[0])) + if (a_newer_than_b(§ions[i].shv, &targ.shv[0]) || + td->force_ro) sections[i].ustatus = needed; } } @@ -2761,6 +2764,9 @@ int main(int argc, char *argv[]) case 'O': openbox_desc_file = optarg; break; + case 'q': + td.force_ro = 1; + break; case 'r': rma = 1; rma_auth_code = optarg; |