)]}'
{
  "commit": "eb8edf865f91056bb4db11922f236c4fe5543f4d",
  "tree": "f1677afcb322fda434353560e661ffce85d25e97",
  "parents": [
    "1e83e340ac944279958daa563b7b9444b8cea1cd"
  ],
  "author": {
    "name": "Puneetha Ramachandra",
    "email": "puneetha@fuchsia.infra.roller.google.com",
    "time": "Thu Jul 09 19:10:37 2026 -0700"
  },
  "committer": {
    "name": "Copybara Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jul 09 19:10:37 2026 -0700"
  },
  "message": "[roll] Roll fuchsia [usb][peripheral] Centralize GET_STATUS handling in CommonControl\n\nCentralize standard Chapter 9 GET_STATUS handling for RECIP_INTERFACE\nand RECIP_ENDPOINT control requests inside UsbPeripheral::CommonControl\nby returning a 2-byte zero status directly when configured.\n\nPreviously, CommonControl did not handle standard GET_STATUS requests\nfor USB_RECIP_INTERFACE or Control EP0 (index 0), either rejecting them\nor delegating them to function drivers where they were unhandled. This\ncaused control requests to stall during Linux kernel usbtest testing.\n\nAdditionally, enforce strict device state (configuration_ \u003d\u003d 0) and\ninterface/endpoint bounds checks across all recipient branches:\n- USB_RECIP_DEVICE: Guard function driver delegations when unconfigured.\n- USB_RECIP_INTERFACE: Check configuration_ \u003d\u003d 0 and ensure the target\n  interface index is within bounds and assigned before handling.\n- USB_RECIP_ENDPOINT: Reject requests targeting non-zero endpoints when\n  unconfigured while allowing Control EP0 to answer GET_STATUS requests.\n\nOriginal-Original-Bug: 528041837\nTest: fx test usb-peripheral\nOriginal-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1681534\nOriginal-Original-Revision: b80ed7bebe1b9bac6a638a2af3c45e1b1b2242e0\nGitOrigin-RevId: 9cfbf90877e5232cddf96294dd1ace02a60f303d\nChange-Id: If60e15b42fb35573d733ca0709f75e8d208b0bf4\nReviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1699315\nCr-Commit-Position: refs/heads/main@{#196614}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6bcfad4a6d1ffb94d495f4383ca97553bd8e9a56",
      "old_mode": 33188,
      "old_path": "stem",
      "new_id": "5979df9b80f676b3207d462018fb4bae32023fb7",
      "new_mode": 33188,
      "new_path": "stem"
    }
  ]
}
