pw_bluetooth_proxy: Deregister & Close channels on proxy reset/dtor - Rename L2capChannelManager::ReleaseChannel() to DeregisterChannel(). - Separate L2capChannel::Close() into InternalClose() which does not Deregister channels and thus does not need `channels_mutex_`, and Close() which Deregisters then calls Close(). - Add L2capChannelManager::DeregisterAndCloseChannels() which is called on ProxyHost::Reset() and ProxyHost dtor. - Remove H4Storage::Reset() so H4Packets can only be released by their destructor. - Friend L2capChannelManager in L2capChannel and move InternalClose() and Undefine() into private/protected API. Fixed: 388088555, 381902130 Change-Id: I31cc98067da3e9d32620e772c22139eae21a771c Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/259434 Reviewed-by: David Rees <drees@google.com> Reviewed-by: Jonathon Reinhart <jrreinhart@google.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Docs-Not-Needed: Ali Saeed <saeedali@google.com> Commit-Queue: Ali Saeed <saeedali@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.