[brcmfmac] Respond when iface removal is done

Currently DestroyIface responds immediately before the iface is removed
from the driver device tree. Sometimes this causes the subsequent
CreateIface request from above to fail because the existing iface has
not been completely removed yet. As a result, no iface remains on the
system and hence no WLAN.

With this commit, we'll only notify the upper layer that iface is
removed once the driver manager has removed it from the device tree.

Multiply: fuchsia-pkg://fuchsia.com/brcmfmac_sim_test#meta/lifecycle_test_component.cm
Bug: 115096
Test:
1. Reboot 5 times and verify there's an iface on the system
2. Verify OOBE succeeds

Change-Id: Ida41b0127dad7a603d6d327fc651fd357190dde5
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/758437
Reviewed-by: Bjoern Johansson <bjoernj@google.com>
Commit-Queue: Kiet Tran <kiettran@google.com>
5 files changed
tree: 79e6d3054c0da12c8217672030cdbf73e23462df
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.