)]}'
{
  "commit": "48b304bf23549bb908bbfd2d4f0960aa56f014fa",
  "tree": "1d78c6c27860e4ccc3f9a6d9bd6d04c39e241b9e",
  "parents": [
    "990e3e5da11c6efe23809b6012bd1c5e4470611c"
  ],
  "author": {
    "name": "Puneetha Ramachandra",
    "email": "puneetha@fuchsia.infra.roller.google.com",
    "time": "Wed Apr 08 21:24:27 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Apr 08 21:29:01 2026 -0700"
  },
  "message": "[roll] Roll fuchsia [usb-virtual-bus] Refactor state management and connection logic\n\nRedesigns the virtual bus connection state machine to explicitly track\nconnecting and disconnecting phases. This ensures that FIDL Connect and\nDisconnect requests correctly synchronize between the virtual DCI\n(peripheral) and HCI (host) components.\n\nKey changes:\n- Implements a 4-state machine (Disconnected, Connecting, Connected,\n  Disconnecting) and tracks hardware-level DCI/HCI connectivity flags.\n- Ensures Connect() operations sequentially activate DCI then HCI,\n  while Disconnect() deactivates HCI then DCI.\n- Handles overlapping or redundant FIDL requests by queuing callbacks\n  and returning appropriate statuses (ZX_OK or ZX_ERR_BAD_STATE).\n- Updates StartController and StopController (DCI) to trigger state\n  transitions in the background, avoiding deadlocks with the peripheral\n  driver during initialization and teardown.\n- Enhances error handling and rollback if a phase of connection or\n  disconnection fails.\n- Improves FIDL documentation for the Bus protocol to clarify error\n  behaviors and state transitions.\n\nAdds comprehensive unit tests to verify:\n- Overlapping Connect/Disconnect requests.\n- Error propagation and rollback during Hci/Dci failures.\n- Idempotent Connect/Disconnect calls.\n- Banjo control and data request flows during transitions.\n\nOriginal-Bug: 497086698\nTest: usb-virtual-bus-unit-test\nOriginal-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1557222\nOriginal-Revision: 0110145d398a1a5b7e95a96b86aced8b69917345\nGitOrigin-RevId: 2321b8119511e7f7a760a0c3368af14530bcca9c\nChange-Id: I91e52d64b55ab62246a039bdfb01708604beb475\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a504440f8767120c549394522e0736f55e8ba9bd",
      "old_mode": 33188,
      "old_path": "stem",
      "new_id": "5908edf6f22c831485c1731566dd676e96c496e5",
      "new_mode": 33188,
      "new_path": "stem"
    }
  ]
}
