Change how we revert data modem allocation.
The old code did a START, APPLY, FINISH sequence, taking each modem to each step before taking any further. When it had an error (generally at the APPLY step) it simply used FINISH with the old configuration to indicate the rollback. However the 3 stages mean stuff.. generally the START is an indication to release resources, APPLY means to grab the new resources and FINISH means others have grabbed their resources successfully. The reason for the careful staging is because one modem can't grab a resource until it has been released by the other modem that had it grabbed so we have to release all first. With this in mind, the abort should look like START, APPLY(err), START, APPLY(old-config), FINISH. This causes anybody who'd successfully passed the first APPLY to release their resources again so the rollback could happen in the second APPLY. Unfortunately we've already shipped with the existing semantics. A compromise is START, APPLY (err), FINISH (old-config, just like the current rollback works), START, APPLY (old-config), FINISH (old-config). This should work on existing devices and devices needing the release. bug:19430895 Change-Id: Ie395e5ee74ed67e4ffbba4c1ed35670e0ce30167
Loading
Please register or sign in to comment