[roll] Roll fuchsia [igc] Reset hardware when stopping interface

Previously NetworkDeviceImpl::Stop would just return all buffers to
netdevice. There could still be DMA transfers in progress and during
shutdown the hardware could continueThere could still be DMA transfers
in progress and during shutdown those transfers could to write into a
VMO after it been released.

Resolve this by resetting the hardware in NetworkDeviceImpl::Stop to
match the behavior of the upstream code. This also necessitated moving
some of the code from initialization to NetworkDeviceImpl::Start to
ensure that the driver can properly recover from a Stop call.

Test: Manually induce invalid DMA write according to bug report.
      Restart driver while running and verified Stop -> Start transition
      while driver is running.
Original-Bug: b/42083234
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1024985
Original-Revision: e899056bdb4cdb95f1786f22b800d5d2c93918d8
GitOrigin-RevId: 179f1d06a51ae3c8e849de86fcf194fa8bb819e0
Change-Id: I2f68e3e85e3d49c9486ba3eccf1e5c2856bdda35
1 file changed
tree: c83d9ea18d44a20e7ef3fc6caa80e3c9a5d2e8b3
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. 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.