Skip to content

Conversation

benhillis
Copy link
Member

Follow the Hyper-V protocol order and send the FDO D0 entry completion message only after the device description has been sent.

Cherry-pick of #1500

@benhillis benhillis requested a review from a team as a code owner July 9, 2025 15:05
@github-actions github-actions bot added the release_2505 Targets the release/2505 branch. label Jul 9, 2025
@mattkur mattkur requested a review from a team July 10, 2025 00:13
Follow the Hyper-V protocol order and send the FDO D0 entry completion
message only after the device description has been sent.
@Copilot Copilot AI review requested due to automatic review settings August 29, 2025 21:09
@jstarks jstarks force-pushed the vpci_ordering_2505 branch from 3bededd to 12c300d Compare August 29, 2025 21:09
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modifies the vPCI device protocol to follow the Hyper-V protocol order by sending the FDO D0 entry completion message only after the device description has been sent, rather than immediately after the D0 entry is processed.

Key changes:

  • Deferred completion message sending in the vPCI protocol state machine
  • Added debugging tracing for config space mapping operations
  • Updated test infrastructure to handle the new protocol ordering

Comment on lines +644 to +645
if let Some(transaction_id) = self.send_completion {
conn.send_completion(Some(transaction_id), &protocol::Status::SUCCESS, &[])?;
Copy link
Preview

Copilot AI Aug 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The completion is being sent with Some(transaction_id) but the original code used just transaction_id. This changes the function signature expectation and may cause a type mismatch or incorrect protocol behavior.

Suggested change
if let Some(transaction_id) = self.send_completion {
conn.send_completion(Some(transaction_id), &protocol::Status::SUCCESS, &[])?;
conn.send_completion(transaction_id, &protocol::Status::SUCCESS, &[])?;

Copilot uses AI. Check for mistakes.

@jstarks jstarks enabled auto-merge (squash) August 29, 2025 21:12
@jstarks jstarks merged commit 2727f7c into microsoft:release/2505 Aug 29, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release_2505 Targets the release/2505 branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants