Skip to content

Doc updates - #16

Closed
CourtneyDrant wants to merge 6 commits into
OpenPRoT:mainfrom
CourtneyDrant:doc-updates
Closed

Doc updates#16
CourtneyDrant wants to merge 6 commits into
OpenPRoT:mainfrom
CourtneyDrant:doc-updates

Conversation

@CourtneyDrant

Copy link
Copy Markdown
Collaborator

No description provided.

chrysh and others added 6 commits August 21, 2026 12:40
Drives fd_progress in Download state with a TransferComplete request
sent longer than T1 ago and asserts the new behavior from PR OpenPRoT#12: the
update is cancelled, the FD returns to Idle with DownloadTimeout as
the reason, and the caller sees Err(T1Timeout) instead of a silent
Ok(0).

Signed-off-by: Christina Quast <christina.quast@9elements.com>
Two fixes ported from caliptra-mcu-sw, one improved:

- Compute the elapsed time with saturating_sub so a clock reading
  behind the stored timestamp cannot underflow.
- Refresh the T1 timestamp after verify/apply progress, since FdOps
  verify/apply may block for long periods and their duration must not
  count as UA silence. Unlike the caliptra version, the refresh is
  skipped once VerifyComplete or ApplyComplete is sent: from that
  point T1 times the UA's response, and resetting it would let a
  silent UA escape the timeout. The unconditional upstream refresh
  re-arms T1 on every T2 resend, so a UA that never answers
  VerifyComplete is never timed out.

Signed-off-by: Christina Quast <christina.quast@9elements.com>
It generated a request into the buffer and discarded the length, with
both branches returning Ok(()). Superseded by
generate_initiator_request, which returns the frame to transmit. No
callers.

Signed-off-by: Christina Quast <christina.quast@9elements.com>
Byte-for-byte the same as process_initiator_response and no callers.
Two names for one operation invite the old one back into new code;
process_initiator_response is the documented survivor.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
fd_idle_timeout resets only state and reason; the request stayed Sent
with its instance id, so a late UA response to the cancelled request
still passed handle_response's Sent + instance-id guard and was
processed while Idle. Reset it to Unused at the cancel.

Assisted-by: Claude:claude-fable-5
Signed-off-by: Christina Quast <christina.quast@9elements.com>
…t. Adjusted 'now' default to safer value of 0, disabling timestamps. Users will need to implement now using a counter from their environment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants