[roll] Roll fuchsia [usb][peripheral] Centralize GET_STATUS handling in CommonControl

Centralize standard Chapter 9 GET_STATUS handling for RECIP_INTERFACE
and RECIP_ENDPOINT control requests inside UsbPeripheral::CommonControl
by returning a 2-byte zero status directly when configured.

Previously, CommonControl did not handle standard GET_STATUS requests
for USB_RECIP_INTERFACE or Control EP0 (index 0), either rejecting them
or delegating them to function drivers where they were unhandled. This
caused control requests to stall during Linux kernel usbtest testing.

Additionally, enforce strict device state (configuration_ == 0) and
interface/endpoint bounds checks across all recipient branches:
- USB_RECIP_DEVICE: Guard function driver delegations when unconfigured.
- USB_RECIP_INTERFACE: Check configuration_ == 0 and ensure the target
  interface index is within bounds and assigned before handling.
- USB_RECIP_ENDPOINT: Reject requests targeting non-zero endpoints when
  unconfigured while allowing Control EP0 to answer GET_STATUS requests.

Original-Original-Bug: 528041837
Test: fx test usb-peripheral
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1681534
Original-Original-Revision: b80ed7bebe1b9bac6a638a2af3c45e1b1b2242e0
GitOrigin-RevId: 9cfbf90877e5232cddf96294dd1ace02a60f303d
Change-Id: If60e15b42fb35573d733ca0709f75e8d208b0bf4
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1699315
Cr-Commit-Position: refs/heads/main@{#196614}
1 file changed
tree: f1677afcb322fda434353560e661ffce85d25e97
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.