[roll] Roll fuchsia Reland "Reland "[wlanphy] Replace DdkServiceConnect with DdkConnectRuntimeProtocol""

This is a reland of commit fa815d7ce0c8e1c10dfffd7e731a0beae74f3787

The reland CL hit another flake in CI tests after checked in. The flake was caused by a race condition in FakeDevMgr(an old driver host mock in WLAN library we wrote before mock-ddk came out). This class is not thread-safe, but this migration introduced multi-thread access on this class. With a certain sequence of operations conducted by the two threads, the flake happened.

This change fixed the race condition by adding a lock to the DeviceAsyncRemove() function in FakeDevMgr, this doesn't make the class thread-safe, but enough to protect the removals of the fake devices from interweaving with each other. Note that we'll ditch FakeDevMgr after brcmfmac goes to DFv2.

Original change's description:
> Reland "[wlanphy] Replace DdkServiceConnect with DdkConnectRuntimeProtocol"
>
> This is a reland of commit d7da058638b31bd0f82aa43a1d93c21be71003a0
>
> Original change's description:
> > [wlanphy] Replace DdkServiceConnect with DdkConnectRuntimeProtocol
> >
> > This CL migrates the protocol discovery method between wlanphy driver
> > and the vendor WLAN drivers from DdkServiceConnect to
> > DdkConnectRuntimeProtocol. This is separated from fxr/692243 so that
> > the DFv2 migration won't affect the drivers other than iwlwifi.
> >
> > Original-Bug: 99959
> > Test:
> > 1. Current driver unittests on CQ.
> > 2. Manually tested wifi functionality(e.g. scan/connect) on iwlwifi,
> > brcmfmac and nxpfmac device.
> > 3. Did OOBE on brcmfmac device and watched youtube.
> >
> > Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/787948
>
> Original-Bug: 99959
> Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/815196

Multiply: brcmfmac_sim_test: 100

Original-Bug: 99959
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/820647
Original-Revision: 91665c38d584edcbbb633a8bc148b4d9d93b30ea
GitOrigin-RevId: 3e9ec86c61f1c744b8bc77ba2f996793da637dec
Change-Id: I8a5944e0a4aaac4f3177124897bfc28150315d04
1 file changed
tree: 1307864b34b31044f23683d3a54e38cef6db1a92
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. toolchain
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 via the IRC channel #fuchsia on Freenode.

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.