[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
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.