日期:2024 年 11 月 14 日
版本:F22
已实现以下更改:
音频
我们对音频进行了以下更新。
音频驱动程序和驱动程序 API:
- 更新了要验证的音频驱动程序 VMO 句柄权限。
audio_driver_tests
套件现在会验证从音频驱动程序返回的 VMO 句柄是否具有所需的权限。- 变更:fxr/1093754
- 更新了
aml-g12-composite driver
,以使用SetActiveChannels
特定于领域的 API 通过StartSocPower/StopSocPower
开启或关闭 SoC 电源。- 变更:fxr/1073617
- 停用了
SimpleAudioStream
辅助库中的默认调度程序。- 变更:fxr/1074513
- 删除了
aml-g12-[pdm|tdm]-dsp
驱动程序。- 变更:fxr/1091535
- 更新了
VirtualAudio
驱动程序,以应用正确的 VMO 句柄权限并修复了WatchTopology
行为。
- 更新了要验证的音频驱动程序 VMO 句柄权限。
AudioCore 服务和智能显示屏支持:
- 将
CapturerShimImpl
dtor 更新为虚拟,从而修复了 new-delete-type-mismatch 问题。- 变更:fxr/1088534
- 将
AudioDeviceRegistry
服务:- 将
Control::Reset
实现为异步方法。- 变更:fxr/1082634
- 阐明了在哪些情况下会调用或不会调用客户端提供的回调或
ControlNotify
通知。- 变更:fxr/1087881
- 将
音频开发者工具:
- 在
ffx audio device
方面向ffx audio
添加了额外的 ADR 支持。 - 更新了
ffx audio device info
,以显示信号处理元素、拓扑和状态。- 变更:fxr/1042483
- 更新了
ffx audio
中的RegistryDevice
类型,以公开信号处理元素、元素状态和拓扑。- 变更:fxr/1085604
- 将
VmoBuffer
移至常规 Rust 音频库。- 变更:fxr/1094900
- 在
蓝牙
蓝牙进行了以下更新:
- 完成了对 BR/EDR 旧版配对的支持:这包括在 ACL 连接完成之前处理配对,以及对可变 PIN 码类型的支持。
- 构建对等时串流的支持:这包括用于数据流的
IsoDataChannel
和一个新 API,以及对设置传入串流的支持。 - 将
Hci
协议替换为用于将堆栈连接到控制器的HciTransport
协议:这包括所有当前驱动程序,可提高兼容性和可维护性,并使 ACL 和命令通道中的事件线性化。 - 在 RFCOMM 中添加了对动态 L2CAP 连接的支持:新对等方首选 L2CAP,系统会自动分配 L2CAP PSM 并将其传达给配置文件。
- 用于捕获蓝牙数据的
Snoop
协议已更新为使用经过修订的 API 来防止错误:这引入了Vendor.OpenSnoop
方法,以便更好地访问嗅探功能。 - 现在,当客户端解除绑定时,A2DP 分流会正确停止。
- 变更:fxr/1082932
- 正在开发的消息访问配置文件 (MAP) 现在支持通知注册。
- Sapphire 不再依赖于 ICU 库,从而移除了一个大型依赖项。
构建
Build 进行了以下更新:
- 更新了合作伙伴不稳定 SDK:添加了
spiimpl
库,以提供扩展的 SPI 功能。- 变更:fxr/1094833
- 改进了 GN build 系统:新模板
generated_ifs_file
支持动态创建.ifs
文件。由于 OTA 测试问题,已还原netsvc
组件包含。 - 增强了
fx
命令:Google Analytics 现在使用$EPOCHREALTIME
来实现更精确的时间安排。--rbe
标志已被移除。 - 改进了构建系统清理:移除了
sdk_host_tool()
中的过时导入。修复了 Clippy lint 问题。缓冲区读取器可提升serde_json
性能。新的 DFv2 驱动程序库pdev
可减少依赖项。
钴蓝
我们对 Cobalt 进行了以下更新:
- 修复了 clang-tidy 警告并移除了
fuchsia.cobalt/SystemDataUpdater
协议:此更新修复了 clang-tidy 警告,并更新了#include
样式以与 Fuchsia 样式指南保持一致。由于 Clang 很难找到 Cobalt 的一些第三方依赖项,因此大部分文件都必须被忽略。我们还移除了在 F18 中废弃的fuchsia.cobalt/SystemDataUpdater
协议。 - 移除了
fuchsia.cobalt/SystemDataUpdater protocol
:此协议已废弃且未使用。- 变更:fxr/1082641
组件框架
我们对组件框架进行了以下更新:
- 提高了进程启动器服务器端错误日志记录的清晰度。此更改重构了错误日志记录代码,使其可测试,并改进了作业退出代码说明。
- 变更:fxr/1090961
- 通过优先处理会话电源监听器来改进电源监听器的管理:现在,在初始化电源监听器时,系统会先尝试使用会话电源监听器,如果不可用,则使用系统电源监听器。
- 变更:fxr/1078679
- 为真实副本 VMO 实现了组件管理器更改:此更改使用
zx_vmo_transfer_data
从 Bootfs 执行 VMO 复制和取消提交操作到条目的真实副本 VMO。- 变更:fxr/818810
连接驱动程序
Connectivity Drivers 进行了以下更新:
- 改进了 dwc3 驱动程序,添加了设备树绑定和其他修复:
- 将 dwc3 设为复合设备,允许使用其他硬件版本,仅在设置 DCI 接口后启动外围设备模式,并在 ConfigEp 上启用端点。
- 变更:fxr/1073819
- 将 dwc3 设为复合设备,允许使用其他硬件版本,仅在设置 DCI 接口后启动外围设备模式,并在 ConfigEp 上启用端点。
- 改进了 dwmac 驱动程序的性能和稳定性:
- 在配置 rx 描述符和通知设备之间添加了内存屏障,以解决潜在的竞争条件。
- 修复了导致 vim3 上发生失败的竞争条件,在这种情况下,驱动程序不会将在线状态传播到旧版以太网驱动程序。修复方法涉及在子驱动程序绑定后立即通知子驱动程序。
- 通过记录所有固件恢复尝试以计算固件恢复成功率,改进了 brcmfmac 驱动程序。
- 变更:fxr/1048029
诊断
我们对“诊断”进行了以下更新:
- 改进了归档工具:
- 实现了
InspectSink/FetchEscrow
:这样可以更轻松地检索托管的 Inspect 数据。 - 添加了对选择器和
ArchiveAccessor
中的树名称过滤条件的支持。 - 命名传入的托管虚拟机操作系统:这有助于更轻松地识别托管虚拟机操作系统,从而提高其易用性。
- 修复了移除数据时未完全删除数据的 bug:这通过确保数据正确释放,提高了归档工具的可靠性。
- 变更:fxr/1076333
- 进行了各种改进和重构,以提高效率、减少内存用量并遵循惯例。
- 实现了
- 改进了日志记录功能:
- 始终在 Rust 中记录文件和行信息。
- 变更:fxr/1078772
- 始终在 Rust 中记录文件和行信息。
- 改进了诊断数据的持久性:
- 持久性现在与 system-update-checker 集成,比之前的 120 秒延迟更早开始发布。
- 变更:fxr/1085603
- 持久性现在与 system-update-checker 集成,比之前的 120 秒延迟更早开始发布。
- 改进了“检查”功能:
- 在 Inspect Rust 库中添加了对托管的支持:这样可以更轻松地收集和分析 Inspect 数据。
- 变更:fxr/1078872
- 更新了所有检查数据,使响应中包含组件网址:这有助于更轻松地识别数据的来源,从而提高检查数据的易用性。
- 变更:fxr/1078133
- 为 Data<Inspect> 添加了构建器:这样可以更轻松地改进 Data<Inspect> 结构。
- 变更:fxr/1078132
- 创建了 Python Inspect 解析库:这样,您就可以更轻松地在 Python 中解析和分析 Inspect 数据。
- 变更:fxr/1074461
- 在 Inspect Rust 库中添加了对托管的支持:这样可以更轻松地收集和分析 Inspect 数据。
- 功耗可观测性:
- 在“检查历史记录”中的租赁状态检查更新中添加了等级数据:这有助于提高租赁状态更改的可见度,并更轻松地诊断问题。
- 变更:fxr/1091011
- 优化了 VMO 尺寸说明,使其更易于理解。这样,您就可以更轻松地了解 Inspect VMO 的大小。
- 变更:fxr/1086973
- bug:fxb/354754310
- 提高了电源代理的 Inspect VMO。这通过减少需要调整 VMO 的次数来提高功耗代理的性能,并允许我们容纳更多信息。
- 变更:fxr/1085600
- 在“检查历史记录”中的租赁状态检查更新中添加了等级数据:这有助于提高租赁状态更改的可见度,并更轻松地诊断问题。
驱动程序框架
我们对驱动程序框架进行了以下更新:
- 改进了驱动程序元数据管理。这包括将
GetMetadataIfExists()
函数添加到fdf_metadata
库中。- 变更:fxr/1089873
- bug:b/353718698
- 改进了驱动程序运行时性能和稳定性。这包括更新 RAII 语义的调度程序标头、从驱动程序主机运行器回调中移除返回值,以及禁止在关闭期间加入延迟任务队列。
- 改进了驱动程序测试基础架构。这包括重构驱动程序测试实例并为合作伙伴 SDK 准备
driver_test.h
。 - 在驱动程序开发中添加了对 Rust 的初步支持。这包括为竞技场和调度程序添加安全 Rust 绑定的实现,以及添加了递增
fdf_arena_t
引用计数以在 Rust 中启用Clone
的功能。- 变更:fxr/1070133、fxr/1084042
- bug:b/338249591
- 改进了驱动程序文档。这包括添加了新的 DFv2 驱动程序文档:“排查 DFv2 驱动程序开发中的常见问题”。
- 变更:fxr/1087713
- 修复了各种 bug。其中包括修复了与元数据处理、驱动程序加载、驱动程序测试和驱动程序运行时相关的 bug。
FIDL
我们对 FIDL 进行了以下更新:
- 更新了 SDK 以使用修饰符更改语法,并重新格式化了 versions_natural_ostream.h.golden 文件:此更改可避免重复的枚举成员和协议方法,并因 clang 格式输出发生变化而重新格式化文件。
- 改进了 FIDL ABI:这些改进包括:
- 允许使用新的平台协议。
- 添加了事件测试。
- 改进了协议和方法测试以及规则。
- 改进了位和枚举错误。
- 改进了错误中的路径处理。
- 检查标志背后的分屏协议。
- 移除了未使用的主机协议,替换了 in_development_api_level 变量,移除了未使用的模板歧义解析,并确保传递了所有记录的 GN 变量。
- 回填了缺少的 @available(added=HEAD) 注解,并修复了使用线程对象的出站 FIDL 调用。
- 变更:fxr/1082994、fxr/1082231
- bug:fxb/349874637
GPU
GPU 进行了以下更新:
- 改进了 GPU 驱动程序的调试工具。
- 将 intel-i915 驱动程序迁移到了 DFv2。
- 变更:fxr/1077013
- bug:fxb/339114729
- 改进了 GPU 驱动程序的电源管理。
- 变更:fxr/1081932
- 从 intel-i915 驱动程序中移除了未使用的背光功能。
- 变更:fxr/1072741
- bug:fxb/339114729、b/349685233
本地化
我们对 I18n 进行了以下更新:
- 更新了 I18n 基础架构以支持 Fuchsia 的新日期/时间 API:此更改会更新 I18n 基础架构以使用新的 Fuchsia 日期/时间 API,从而简化日期和时间的格式设置和解析过程。这项更改还提高了 I18n 基础架构的整体性能和可靠性。
- 变更:fxr/459562
IOT
我们对 IoT 进行了以下更新:
- 通过阻止 ot-radio 在 RCP 重置期间发送帧并增强 SPI TX 逻辑,提高了线程堆栈稳定性和恢复能力:这通过确保 lowpan 等待 RCP 就绪来避免不必要的重置,并改进了在发送 spinel 帧失败时的恢复能力。
- 修复了 lowpan-monitor 中的崩溃问题并改进了诊断功能:监视器现在会在线程堆栈启动失败时生成崩溃报告,在缺少线程堆栈的设备上提供数据。
- 变更:fxr/1090955
- 修复了 lowpan 中的 meshcop 发布逻辑。
- 变更:fxr/1080456
- 在 openthread 中,记录了被忽略的 ICMP6 消息的来源地址(如果来源不是链接本地)。这改进了 ICMP6 问题的调试功能。
- 变更:fxr/1088444
- 向合作伙伴不稳定 SDK 中添加了 spiimpl:此更改主要供内部使用,对普通用户的影响较小。
- 变更:fxr/1094833
- 修复了 nat64 转换器:修复了在设置 CIDR 时未正确设置 nat64 转换器状态的 bug。
- 变更:fxr/1102124
- 改进了 Matter/GHP:修复了与 Matter 和 GHP 相关的 bug,并提升了稳定性。
内核
内核进行了以下更新:
- 添加了对
ZX_CLOCK_BOOT
时间轴的支持,包括用户模式时钟和系统调用 (zx_ticks_get_boot
、zx_clock_get_boot
)。 - 引入了用于检索 VMAR 映射信息的
ZX_INFO_VMAR_MAPS
,并添加了相关的诊断工具。 - 通过
zx_cache_flush
添加了对用户空间 dcache CLEAN 和 FLUSH 操作的支持。- 变更:fxr/1069594
- bug:fxb/42075218
- 添加了用于显示套接字信息的
k zx sock
命令,并改进了对对等调度程序的k
命令处理。 - 添加了 ns8250 UART 的 PXA 变体,并根据设备树/启动 shim 配置有条件地设置了电平触发位。
- 修复了内核计时器竞态条件,并改进了计时器队列检查。
- 变更:fxr/1094412
- 修复了对易失性变量的原子加载问题,并引入了针对 libcxx
atomic_ref
限制的权宜解决方法。 - 改进了物理内存管理和切换,包括确保 NVRAM 和 ZBI 分配持久性、处理预留的测试 RAM 和诊断日志记录。
平台驱动程序
平台驱动程序进行了以下更新:
- 简化了
aml-sdmmc driver
构建流程,提高了驱动程序的清晰性和一致性:为源文件和依赖项创建了专用 GN 目标,从而提高了可维护性并减少了潜在的构建错误。为提高清晰度和一致性,我们还重命名了元数据类型标识符。 - 提高了驱动程序可靠性并防止了潜在崩溃:修复了平台设备驱动程序中的一个 bug,该 bug 会导致对可选数据的访问不正确。
- 变更:fxr/1084720
- bug:fxb/354051142
- 改进了驱动程序模块化程度、适应不同硬件配置的能力以及调试功能。重构了 aml-light 驱动程序,以便使用 FIDL 从 gpio-light 平台设备检索元数据,并向平台总线驱动程序添加了检查数据。
- 变更:fxr/1060232、fxr/1072692
- bug:b/341981272
- 通过优化
aml-uart
驱动程序,降低了功耗并延长了电池续航时间。现在,只有在驱动程序配置中启用暂停时,驱动程序才会将中断注册为唤醒源。- 变更:fxr/1073652
- 通过简化 aml-sdmmc 驱动程序中的
AmlSdmmc::GetToken()
函数,提高了代码可读性并降低了复杂性。- 变更:fxr/1075219
Rust
Rust 进行了以下更新:
- 通过添加将 GN 作用域传递给测试目标以及在依赖项扫描后更早清理辅助 rspfile 的功能,改进了对构建系统的支持。
- 变更:fxr/1084669、fxr/1080294
- bug:fxb/352530114
- 通过添加
#[allow(deprecated)]
为重命名std::panic::PanicInfo
做好了准备。- 变更:fxr/1087153
- bug:fxb/354739990
软件交付
软件分发进行了以下更新:
- 重构了模拟 Omaha 服务器,以支持 fasync 和 tokio 运行时,并且其
start()
函数现在是异步的。- 变更:fxr/1090712、fxr/1080615
- bug:b/352675941
- 在 Omaha 客户端、系统更新检查器和
fuchsia.update
中添加了对更新检查完成协议的支持,使 Persistence 能够在更新检查后立即发布数据。 - 更新了 OTA 触发机制,以使用
ffx
。- 变更:fxr/1072573
- bug:fxb/349605667
- Omaha 客户端 Fuchsia 测试现在使用
poll_until_stalled
以实现更好的异步处理。- 变更:fxr/1083013
- 改进了 swd-e2e-tests 中的 OTA 工具和工件下载;改进了缺少产品软件包时的测试硬件错误处理。
Starnix
Starnix 进行了以下更新:
- 通过 set-user-id/set-group-id 和 SELinux 动态转换检查增强了安全性:添加了 setuid 功能(默认处于停用状态),并在 SELinux 中针对动态转换实现了类型边界检查,从而提高了安全性并防止特权提升。
- 通过 SELinux 钩子和 /container 功能标志改进了文件系统安全性和管理:在 SELinux 中添加了
fs_node_set/getsecurity()
钩子来管理文件安全属性,并引入了用于控制 /container 目录的功能标志,为最终移除该目录铺平了道路。 - 通过环形缓冲区操作和映射增强了 BPF 支持:实现了 BPF 环形缓冲区的预留、提交和舍弃操作,以及映射 BPF 环形缓冲区文件描述符的功能。
- 引入了 NMFS 管理器框架和 open3 支持:创建了用于管理网络文件系统事件的新框架,并在远程执行中添加了对 open3 的支持,为文件系统操作提供了更强大、更灵活的方法。
- 变更:fxr/1058654、fxr/1075217
- bug:fxb/353586142
- 在启动时添加了
stardev
容器和 GPU 信息:引入了用于自托管 Fuchsia 开发的新容器,并添加了在启动期间传递 GPU 信息的功能,以改进驱动程序管理。 - 在测试名称中添加“starnix”,以便更好地识别测试:在测试名称中添加了“starnix”,以便在信息中心中更好地识别和整理测试。
- 变更:fxr/1095737
- 通过在停用时重置 timerfd 截止期限来修复了潜在的计时器问题:确保在停用时重置 timerfd 中的截止期限,以防止出现意外的计时器行为。
- 变更:fxr/1094302
存储
我们对“存储空间”进行了以下更新:
- 通过为 FakeDevice 拆解添加毒药丸选项增强了 fxfs 测试,以便在崩溃时提供更具信息量的堆栈轨迹,并移除了 fuchsia-pkg-testing 中的不必要的借用。
- 变更:fxr/1095814、fxr/1095932
- bug:fxb/357638987
- 提高了 NAND 设备读取性能和驱动程序效率。现在,驱动程序会等待命令队列变为空,然后再检查状态位,从而减少不必要的轮询和 CPU 使用。我们还移除了一个未使用的中断,进一步提高了驱动程序效率。
计时
我们对时间记录功能进行了以下更新:
- 更新了
GetMonotonic
文档,并向 libfasttime 添加了 compute_boot_ticks 和 compute_boot_time 函数。保证每次启动内核并运行一段时间后,单调时钟都会从 0 开始。向libfasttime
添加了函数,用于计算启动计数和时间。** - 改进了 RTC 驱动程序行为。将计时器更改为监控
/dev/class/rtc
目录,而不是从中读取,添加了单元测试,并还原了为 RTC 检测添加重试项所做的更改。 - 改进了 Timer 类行为。将 TimerLock 声明移到了 Timer 类中,以便在注解中引用它并允许将计时器列表标记为由此锁保护,并在检查队列时获取计时器锁,以处理来自不同 CPU 的并行 Timer::Cancel 事件并正确计算下一个超时。
工具
我们对“工具”进行了以下更新:
package-tool
已更新,并进行了多项增强,包括为提取命令添加了--namespace
参数以创建软件包的命名空间型视图,以及采用了package_manifest.json
来处理元数据。我们还移除了一条过时评论。create
工具现在使用新的meta/
目录结构来存储元数据。- 变更:fxr/1089302
- sdk-deps 脚本现在支持 CSV 输出,并提供依赖项计数。
- 变更:fxr/1078416
- 移除了已废弃的显示工具
display-detect
和display-png
。 - 移除了音频工具中的悬空字符串赋值,并移除了损坏的
sys-realm-analyzer
工具。
ffx
ffx
进行了以下更新:
- 改进了目标处理:这包括重构目标解析、修复动态目标添加、在客户端发现中设置 SSH 端口,以及停用客户端发现以减少故障。在初始还原后,动态目标添加功能已重新发布。
- 增强了输出和配置:从软件包命令中移除了 ASCII 艺术字符,为守护程序添加了
--background
标志,添加了--no-environment
标志,并从 CLI 存储了代码库信息。 - 实现了初始客户端发现(后来出于稳定性考虑而停用)。
- 变更:fxr/1013625
ffx audio device info
现在以更优雅的格式显示信号处理、拓扑和状态。- 变更:fxr/1042483
- 在错误消息中设置了目标地址格式,以提高可读性。
- 变更:fxr/1066952
- 移除了旧版自由形式写入器。
- 变更:fxr/1078758
ffx emu
ffx emu
进行了以下更新:
- 将磁盘哈希重构为
emu_instance
(已还原并重新发布)。 - 由于缺少 Android 模拟器支持,强制为 riscv 映像使用 qemu 引擎。
- 变更:fxr/1077997
ffx playground
ffx playground
进行了以下更新:
- 实现了字符串插值:包括 AST 更改、解析和初始(非执行)支持。
- 改进了错误处理和解析:改用
thiserror
、简化解析器逻辑,并将 Open2 替换为 Open3。 - 实现了导入语句:支持顶级导入和直接作用域导入。
ffx 代码库
ffx repo
进行了以下更新:
- 改进了代码库服务器管理:添加了前台选项、公开了 SimpleWriter,并实现了服务器列表。
ffx 代码库
ffx repository
进行了以下更新:
- 改进了代码库连接处理:允许在重新连接期间取消连接、改进了日志记录,并延长了重新连接超时时间。移除了
ffx repository serve
的“实验性”备注。 - 向
extract
命令添加了--namespace
参数。- 变更:fxr/1078614
- 修复了:b/314380870
- 将代码库命令迁移到了 FfxTool。
- 变更:fxr/1076797
ffx target
ffx target
进行了以下更新:
ffx target echo
支持机器架构,并针对未设置的默认目标提供具体错误。- 实现了无守护程序的
ffx target wait
。- 变更:fxr/1078275
fx
我们对 fx 进行了以下更新:
- 修复了 14 个 GCC bug,并移除了针对与段属性和 COMDAT 组相关的旧 bug 的权宜解决方法。
- 改进和优化了分析:提高了时间准确性、延长了参数长度、禁止显示通知、解决了正则表达式初始化问题、处理了空
$HOME
,并添加了内部分析。 - 处理了 Bazel 作业数(已还原)和构建密封性。
- 改进了对
rbe_settings.json
、Go 构建缓存和不存在的文件的处理。 - 从
fx qemu
中移除自定义构建逻辑,并为子 build 启用 ninjatrace。- 变更:fxr/1077852、fxr/1074789
- bug:b/346574369
界面
界面进行了以下更新:
- SceneManager 现在使用
fuchsia.power.SuspendEnabled
配置功能来控制suspend_enabled
配置,从而支持测试和受控使用挂起功能。 - 优化了 ActivityManager 与电源框架的集成(已启用标志)。
由于 OOM 问题,初始集成已被还原,后续更改重新引入了使用
LeaseHolder
和StateTransitioner
进行状态转换管理,为适当的唤醒租约集成做好准备。这项工作包括更新suspend_enabled
配置、新的集成测试以及fuchsia.power.SuspendEnabled
capability 的路由。 - 改进了对
InputDevice
和InputFile
的处理。InputFile::read
现在会返回尽可能多的事件,并且由于使用了待处理事件数,因此等待器通知更准确。Starnix 中的按钮事件调试功能也得到了增强,新增了检查计数和其他日志记录。
视频
我们对视频广告系列进行了以下更新:
- 修复了与
std::pair
的可复制性相关的编译器错误:此错误是由std::pair
的可复制性变更所致。- 变更:fxr/1086537
- bug:fxb/354627057
WLAN
我们对 WLAN 进行了以下更新:
- 改进了 wlanix 的 Antlion 测试:添加了新的软件包和元数据生成功能,以便在没有 starnix 的 VIM3 设备上测试 wlanix,同时添加了无操作测试。
- 更新了 WLAN 漫游政策:允许通过产品配置选择漫游实现(默认为
RoamingOff
),并引入了新的漫游政策平台配置。 - 改进了 WLAN 遥测和检查功能:Wlanix 现在会提供检查数据,并将客户端连接启用/停用事件记录到遥测,以便更轻松地检查 Wi-Fi 开启/关闭事件。
- 增强了 MLME 和 Fullmac FIDL:添加了转换函数并更正了 RSNE 长度限制,解决了 API 不匹配问题并改进了对超大数据的处理。
- 改进了
wlansoftmac
驱动程序:迁移到了 DFv2,从而改进了生命周期和稳定性;优化了接收和传输路径,以减少数据复制;并修复了内存泄漏问题。 - 增强了
wlan-frame-writer
:改进了错误报告;将Appendable
拆分为Append
和TrackedAppend
;添加了对填充缓冲区写入的支持;并简化了write_frame_with_dynamic_buffer
宏。 - 各种 WLAN 改进:改进了 WLAN 政策中的状态同步;添加了驱动程序计时器测试拆解以防止错误;确保在 wlanix 扫描错误时发送
ScanAborted
;并向 brcmfmac 添加了rxundec
计数器以进行调试。