当前位置:首页>Linux>Linux-usb-weekly-2026.06.08-06.14

Linux-usb-weekly-2026.06.08-06.14

  • 2026-10-11 07:17:16
Linux-usb-weekly-2026.06.08-06.14
报告周期: 2026年6月8日 - 2026年6月15日(第24周)数据来源: Linux内核邮件列表 (lore.kernel.org/linux-usb/)  

执行摘要

在2026年第24周,Linux内核USB子系统共提交了约70个补丁和讨论线程。本周的补丁活动主要集中在以下几个方面:

  1. 新硬件支持:新增多个USB控制器和外设设备的支持

  2. 稳定性修复:修复了多个内存泄漏、引用计数问题和空指针解引用bug

  3. 功能增强:XHCI子系统迎来重要功能更新,USB gadget框架得到扩展

  4. 代码质量改进:持续的代码清理和错误处理优化

本周有两个重要的合并请求(GIT PULL):

  • USB driver fixes for 7.1-final:针对7.1版本最终阶段的驱动修复

  • USB serial updates for 7.2-rc1:为7.2-rc1准备的串口设备更新

  • USB4/Thunderbolt changes for v7.2 merge window:为7.2合并窗口准备的USB4/Thunderbolt变更


一、新硬件支持

1.1 ITE IT885x USB PD控制器

补丁系列: [PATCH 0/2] Add support for ITE IT885x USB PD controller

台湾联阳半导体(ITE)的IT885x系列USB Power Delivery控制器的首次支持。该补丁系列包括:

  • 设备树绑定文档

  • 新的Type-C PD控制器驱动程序

此支持使得基于ITE IT885x芯片的USB-C端口能够实现PD协议协商和电源管理功能。

1.2 CoreChips SR9900以太网适配器

补丁: [PATCH] r8152: add vendor/device ID for CoreChips SR9900

为r8152驱动程序添加CoreChips SR9900 USB以太网适配器的厂商/设备ID支持。SR9900是一款USB转以太网控制器,常用于嵌入式系统和网络适配器。

1.3 Telit Cinterion FE990D50模块

补丁: [PATCH] USB: serial: option: add Telit Cinterion FE990D50 compositions

为option串口驱动添加Telit Cinterion FE990D50 LTE模块的设备组合支持。FE990D50是一款支持多频段LTE的无线通信模块。

1.4 TPS6699x兼容支持

补丁: [PATCH] dt-bindings: usb: ti,tps6598x: add TPS6699x compatible

为TI TPS6598x USB Type-C和PD控制器驱动添加TPS6699x的兼容性字符串。TPS6699x是德州仪器的USB Type-C端口控制器系列。

1.5 Uniden BC125AT扫描仪

补丁: [RESEND PATCH] usb: cdc_acm: Add quirk for Uniden BC125AT scanner

为cdc_acm驱动添加Uniden BC125AT无线电扫描仪的特殊quirk处理,确保该设备能够正确工作。


二、Bug修复

2.1 内存泄漏修复

f_uac2内存泄漏

补丁: [PATCH 1/2] usb: gadget: f_uac2: fix memory leak in UAC2_RATE_ATTRIBUTE store

修复USB Audio Class 2.0 gadget驱动中UAC2_RATE_ATTRIBUTE存储操作导致的内存泄漏问题。

XHCI ring sg table pages泄漏

补丁: [RESEND PATCH] xhci: sideband: fix ring sg table pages leak

修复XHCI侧带通道中scatter-gather表页面的泄漏问题,这对于DMA操作的正确性至关重要。

2.2 引用计数泄漏修复

本周发现了多处引用计数泄漏问题,这些问题可能导致设备无法正确释放:

  • [PATCH] usb: xhci: fix refcount leak in xhci_port_bw_show()修复XHCI端口带宽显示函数中的引用计数泄漏

  • [PATCH] usb: hub: fix refcount leak in usb_new_device()修复USB集线器在新建设备时的引用计数泄漏

  • [PATCH] usb: misc: fix refcount leak in get_1284_register()修复USB杂项驱动中获取1284寄存器时的引用计数泄漏

  • [PATCH] USB: misc: uss720: fix refcount leak in submit_async_request()修复uss720驱动中异步请求提交时的引用计数泄漏

  • [PATCH] usb: dwc3: meson-g12a: fix refcount leak in dwc3_meson_g12a_resume()修复DWC3 Meson G12A平台驱动恢复过程中的引用计数泄漏

  • [PATCH] usb: chipidea: tegra: fix refcount leak in tegra_usb_reset_controller()修复ChipIdea Tegra平台USB复位控制器中的引用计数泄漏

2.3 空指针和越界访问修复

vudc NULL指针解引用

补丁: [PATCH] usbip: vudc: fix NULL pointer dereference in vep_dequeue

修复USBIP虚拟UDC驱动中vep_dequeue函数的空指针解引用问题,该问题可能导致系统崩溃。

KASAN检测到的越界读取

补丁: kalmia_rx_fixup(): possible out of bounds read on a short RX frame

修复kalmia驱动在处理短接收帧时可能的越界读取问题。

KASAN slab-out-of-bounds

报告: [BUG] KASAN: slab-out-of-bounds in select_usb_power_delivery_show

KASAN检测到select_usb_power_delivery_show函数中的slab越界访问问题,需要进一步修复。

chaoskey use-after-free

补丁: [PATCH] USB: chaoskey: Fix slab-use-after-free in chaoskey_release()

修复chaoskey随机数生成器驱动中的use-after-free漏洞。

2.4 并发和锁问题修复

XHCI原子上下文睡眠

补丁: [PATCH v2] usb: xhci: Fix sleep in atomic context in xhci_free_streams()

修复XHCI驱动在xhci_free_streams()函数中原子上下文中睡眠的问题。这是一个严重的并发bug,可能导致系统死锁。

mutex转换为guard

补丁: [PATCH] usb: serial: replacing mutex_lock to guard(mutex)

将USB串口驱动中的mutex_lock替换为guard(mutex)宏,这是内核中推广的新型资源管理模式,能够自动处理锁的获取和释放,减少遗漏解锁的风险。

2.5 平台特定问题修复

AMD Raphael/Granite Ridge xHCI恢复问题

报告: xhci_hcd: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8] dies on resume from suspend

AMD Raphael/Granite Ridge平台的USB 2.0 xHCI控制器在从挂起状态恢复后失效的问题。这是一个影响特定AMD平台的严重电源管理问题。

RK3568/RK3566挂起冻结

补丁: [PATCH 2/2] arm64: dts: rockchip: Fix devices suspend freeze on RK3568/RK3566

修复Rockchip RK3568/RK3566平台上设备挂起时的冻结问题。

2.6 其他重要修复

f_fs fence清理

补丁: [PATCH] usb: gadget: f_fs: Fix fence cleanup in ffs_dmabuf_transfer() error paths

修复USB gadget f_fs驱动中ffs_dmabuf_transfer()错误路径上的fence清理问题,这对DMA缓冲区传输的正确性很重要。

USB gadget reset_work初始化

补丁: [PATCH] usb: gadget: f_fs: initialize reset_work at allocation time

将USB gadget f_fs驱动的reset_work在分配时进行初始化,避免未初始化工作队列的使用。

u_audio捕获端点清理

补丁: [PATCH] usb: gadget: u_audio: clean up capture endpoint on feedback failure

在反馈失败时正确清理USB音频gadget的捕获端点。

Type-C连接器分离

补丁: [PATCH] usb: core: port: Deattach Type-C connector on component unbind

在组件解绑时正确分离Type-C连接器,确保热插拔场景下的正确行为。

Thunderbolt流映射大小

补丁: [PATCH tb-next] thunderbolt: stream: unmap buffers with mapped size

修复Thunderbolt流中使用正确的映射大小来unmap缓冲区的问题。

Thunderbolt下游端口重置

补丁: [PATCH v4] thunderbolt: Assert downstream port reset on shutdown

在关机时断言下游端口重置,确保Thunderbolt设备的正确关闭。

HID hiddev生命周期跟踪

补丁: [PATCH] HID: hiddev: Use kref to track struct hiddev lifetime

使用kref机制跟踪HID设备结构的生命周期,改善资源管理。

PIDFF效果类型修复

补丁: [PATCH] HID: pidff: Use correct effect type in effect update

修复PIDFF(物理接口设备力反馈)驱动中效果更新时使用正确效果类型的问题。

XHCI等待命令完成限制

补丁: [PATCH] usb: xhci: bound wait command completion to avoid kdump deadlock

限制XHCI等待命令完成的时间,避免在kdump场景下发生死锁。

USB/UAS配置启用

补丁: [PATCH] arm64: defconfig: Enable USB_UAS in arm64 configuration

在arm64默认配置中启用USB UAS(USB Attached SCSI)支持,提升USB存储性能。

DWC3 gadget断开处理

补丁: [PATCH] usb: dwc3: run gadget disconnect from sleepable suspend context

从可睡眠的挂起上下文中运行gadget断开连接,改善电源管理行为。

UCSI调试条目管理

补丁: [PATCH] usb: typec: ucsi: unregister debugfs entries on teardown

在UCSI驱动拆卸时正确注销debugfs条目,防止资源泄漏。

USBIP sysfs属性清理

补丁系列: [PATCH 0/2] usbip: Cleanup of sysfs attributes

清理USBIP驱动的sysfs属性,提高代码质量和一致性。

Digi Acceleport注册修复

补丁系列: [PATCH 00/11] USB: serial: digi_acceleport: registration fix and cleanups

修复Digi Acceleport串口设备的注册问题并进行代码清理。

TI io_ti错误处理统一

补丁: [PATCH] USB: serial: io_ti: Use common error handling code in do_download_mode()

统一TI串口驱动下载模式中的错误处理代码。

USB网络设备抢占警告修复

补丁: [PATCH 5.10] usbnet: Fix using smp_processor_id() in preemptible code warnings

修复usbnet驱动在可抢占代码中使用smp_processor_id()导致的警告。

USB gadget ncm生命周期修复

补丁: [PATCH 6.6.y] usb: gadget: f_ncm: Fix net_device lifecycle with device_move补丁: [PATCH 6.1.y 1/2] usb: gadget: f_ncm: Fix net_device lifecycle with device_move

修复USB gadget NCM驱动中net_device在使用device_move时的生命周期管理问题,这些补丁被反向移植到稳定内核分支。


三、功能增强

3.1 XHCI新功能系列

补丁系列: [PATCH 00/15] xhci features for usb-next

由Mathias Nyman提交的包含15个补丁的XHCI功能增强系列,针对usb-next分支。这是本周最重要的功能更新之一,虽然具体细节需要查看完整补丁内容,但通常此类系列会包括:

  • 新的XHCI控制器特性支持

  • 性能优化

  • 电源管理改进

  • 错误处理增强

3.2 USB Gadget f_fs代理端点和ZLP支持

补丁系列: [PATCH 0/3] usb: gadget: f_fs: Add R/W proxy EPs and ZLP support

由Neill Kapron提交,经Greg KH审核。该系列为USB gadget功能文件系统(f_fs)驱动添加了:

  • 读写代理端点(R/W proxy endpoints)支持

  • 零长度包(Zero-Length Packet, ZLP)支持

这些功能增强了f_fs驱动的灵活性,使其能够更好地模拟复杂的USB设备行为。

3.3 Battery Status AMS支持

补丁系列: [PATCH v3 0/2] Add support for Battery Status AMS

添加对Battery Status Alternate Mode Support(AMS)的支持,这使得USB Type-C设备能够更好地报告和管理电池状态信息。

3.4 UCSI重复altmode过滤

补丁系列: [PATCH v6 0/3] usb: typec: ucsi: Filter duplicate altmodes from buggy firmware

第6版补丁系列,用于过滤来自有缺陷固件的重复altmode报告。这解决了某些UCSI实现中固件报告重复备用模式的问题。

3.5 基于线缆能力的altmode限制

补丁系列: [PATCH v1 0/3] Restrict alternate modes based on cable capabilities

根据线缆能力限制备用模式的启用,确保只有在线缆支持的情况下才启用特定的备用模式(如DisplayPort Alt Mode)。

3.6 Huawei Gaokun UCSI模式切换支持

补丁: [PATCH] usb: ucsi: huawei_gaokun: support mode switching

为华为Gaokun UCSI驱动添加模式切换支持,允许在不同操作模式之间切换。

3.7 Apple MFi快充驱动转换

补丁: [PATCH] usb: apple-mfi-fastcharge: Convert to devm resources

将Apple MFi快速充电驱动转换为使用devm资源管理框架,简化驱动代码并改善资源管理。

3.8 DRM IRQ_HPD事件处理

补丁系列: [PATCH v4 0/8] drm: handle IRQ_HPD events correctly

虽然主要属于DRM子系统,但这个8个补丁的系列与USB Type-C DisplayPort Alt Mode相关,正确处理IRQ_HPD(热插拔检测)事件对于USB-C视频输出功能至关重要。

3.9 MediaTek M.2 E-key槽支持

补丁系列: [PATCH v2 00/16] arm64: mediatek: Add M.2 E-key slot on Chromebooks

这个16个补丁的系列为MediaTek平台的Chromebook添加M.2 E-key插槽支持,其中可能包括USB相关的WiFi/蓝牙模块支持。


四、代码清理和优化

4.1 注释修正

补丁: [PATCH] usb: gadget: nokia: correct CONFIG_USB_GADGET_DEBUG_FILES macro name in comment

修正Nokia USB gadget驱动注释中CONFIG_USB_GADGET_DEBUG_FILES宏的名称。

4.2 DWC3 PHY重新初始化quirk

补丁系列: [PATCH 0/3] usb: dwc3: add snps,reinit-phy-on-resume quirk for USB2 PHY power loss during S3

为DWC3驱动添加snps,reinit-phy-on-resume quirk,用于处理S3睡眠期间USB2 PHY电源丢失的情况,需要在恢复时重新初始化PHY。


五、合并请求汇总

5.1 USB driver fixes for 7.1-final

提交者: Greg Kroah-Hartman目标版本: Linux 7.1最终版本

此合并请求包含了针对7.1版本发布前的关键驱动修复,通常包括:

  • 回归修复

  • 严重bug修复

  • 稳定性改进

5.2 USB serial updates for 7.2-rc1

提交者: Johan Hovold目标版本: Linux 7.2-rc1

为7.2版本第一个候选版本准备的USB串口驱动更新,包括:

  • 新设备支持

  • 驱动改进

  • bug修复

5.3 USB4/Thunderbolt changes for v7.2 merge window

目标版本: Linux 7.2合并窗口

为7.2版本合并窗口准备的USB4和Thunderbolt子系统变更,包括:

  • 新功能

  • 改进

  • 修复


六、趋势分析

6.1 关注领域分布

类别补丁数量占比
Bug修复~3550%
新硬件支持~811%
功能增强~2029%
代码清理~710%

6.2 主要观察

  1. 稳定性是首要任务:超过半数的补丁用于修复各种bug,特别是内存泄漏和引用计数问题,这表明社区持续重视内核稳定性。

  2. 引用计数泄漏集中发现:本周发现了6处引用计数泄漏问题,分布在不同的USB子系统中,这可能表明最近进行了系统的代码审查或使用了新的静态分析工具。

  3. Type-C/USB-PD持续发展:多个补丁涉及USB Type-C和Power Delivery功能,包括新控制器支持、altmode管理和电池状态支持,反映了USB-C技术在生态系统中的重要性持续增长。

  4. XHCI持续演进:15个补丁的XHCI功能系列表明主机控制器驱动仍在积极开发中。

  5. Gadget框架扩展:f_fs驱动的代理端点和ZLP支持显示USB gadget框架的功能在不断扩展,满足更多样化的设备模拟需求。

  6. 现代C语言特性的采用:mutex到guard(mutex)的转换反映了内核社区采用更安全的资源管理模式。


七、附录:完整补丁列表

以下是本周linux-usb邮件列表中所有补丁和讨论的完整列表(按日期倒序):

2026-06-15

  1. [PATCH] usb: typec: ucsi: gaokun: unwind notifier on UCSI register failure

  2. kalmia_rx_fixup(): possible out of bounds read on a short RX frame

  3. [PATCH 00/15] xhci features for usb-next

  4. [PATCH 0/2] Add support for ITE IT885x USB PD controller

  5. [RESEND PATCH] usb: cdc_acm: Add quirk for Uniden BC125AT scanner

  6. [PATCH 0/3] usb: gadget: f_fs: Add R/W proxy EPs and ZLP support

  7. [PATCH] usb: serial: replacing mutex_lock to guard(mutex)

2026-06-14

  1. [BUG] KASAN: slab-out-of-bounds in select_usb_power_delivery_show

  2. xhci_hcd: AMD Raphael/Granite Ridge USB 2.0 xHCI [1022:15b8] dies on resume from suspend

  3. [PATCH 1/2] usb: gadget: f_uac2: fix memory leak in UAC2_RATE_ATTRIBUTE store

  4. [PATCH] usb: apple-mfi-fastcharge: Convert to devm resources

2026-06-13

  1. [PATCH] usb: gadget: nokia: correct CONFIG_USB_GADGET_DEBUG_FILES macro name in comment

  2. [PATCH] dt-bindings: usb: ti,tps6598x: add TPS6699x compatible

  3. [PATCH] r8152: add vendor/device ID for CoreChips SR9900

  4. [PATCH v2 00/16] arm64: mediatek: Add M.2 E-key slot on Chromebooks

2026-06-12

  1. [PATCH] usb: gadget: f_fs: Fix fence cleanup in ffs_dmabuf_transfer() error paths

  2. [PATCH v3 0/2] Add support for Battery Status AMS

  3. [PATCH v4 0/8] drm: handle IRQ_HPD events correctly

  4. [PATCH] usbip: vudc: fix NULL pointer dereference in vep_dequeue

  5. [GIT PULL] USB driver fixes for 7.1-final

  6. [GIT PULL] USB serial updates for 7.2-rc1

  7. [PATCH v2] usb: xhci: Fix sleep in atomic context in xhci_free_streams()

  8. [PATCH] USB: serial: option: add Telit Cinterion FE990D50 compositions

  9. [PATCH] usb: xhci: Fix sleep in atomic context in xhci_free_streams()

  10. [PATCH 2/2] arm64: dts: rockchip: Fix devices suspend freeze on RK3568/RK3566

  11. [PATCH] usb: ucsi: huawei_gaokun: support mode switching

  12. [PATCH] usb: xhci: fix refcount leak in xhci_port_bw_show()

  13. [PATCH] usb: hub: fix refcount leak in usb_new_device()

  14. [GIT PULL] USB4/Thunderbolt changes for v7.2 merge window

  15. [PATCH] usb: dwc3: Update nominal max votes for qcom usb

  16. [PATCH v6 0/3] usb: typec: ucsi: Filter duplicate altmodes from buggy firmware

  17. [PATCH] usb: dwc3: run gadget disconnect from sleepable suspend context

2026-06-11

  1. [PATCH] usb: typec: ucsi: unregister debugfs entries on teardown

  2. [PATCH 0/2] usbip: Cleanup of sysfs attributes

  3. [PATCH v1 0/3] Restrict alternate modes based on cable capabilities

  4. [PATCH 6.6.y 1/2] usb: gadget: f_ncm: Fix net_device lifecycle with device_move

  5. [PATCH 6.1.y 1/2] usb: gadget: f_ncm: Fix net_device lifecycle with device_move

  6. [RESEND PATCH] xhci: sideband: fix ring sg table pages leak

  7. [PATCH] usb: misc: fix refcount leak in get_1284_register()

  8. [PATCH] USB: misc: uss720: fix refcount leak in submit_async_request()

  9. [PATCH] usb: dwc3: meson-g12a: fix refcount leak in dwc3_meson_g12a_resume()

  10. [PATCH] usb: chipidea: tegra: fix refcount leak in tegra_usb_reset_controller()

  11. [PATCH] HID: hiddev: Use kref to track struct hiddev lifetime

  12. [PATCH 0/3] usb: dwc3: add snps,reinit-phy-on-resume quirk for USB2 PHY power loss during S3

  13. [PATCH] usb: gadget: f_fs: initialize reset_work at allocation time

  14. [PATCH] arm64: defconfig: Enable USB_UAS in arm64 configuration

  15. [PATCH] usb: gadget: u_audio: clean up capture endpoint on feedback failure

  16. [PATCH] usb: core: port: Deattach Type-C connector on component unbind

  17. [PATCH tb-next] thunderbolt: stream: unmap buffers with mapped size

  18. [PATCH v4] thunderbolt: Assert downstream port reset on shutdown

  19. [PATCH] USB: serial: io_ti: Use common error handling code in do_download_mode()

  20. [PATCH 5.10] usbnet: Fix using smp_processor_id() in preemptible code warnings

2026-06-10

  1. [PATCH 6.6.y] usb: gadget: f_ncm: Fix net_device lifecycle with device_move

  2. [PATCH] HID: pidff: Use correct effect type in effect update

  3. [PATCH] usb: xhci: bound wait command completion to avoid kdump deadlock

  4. [PATCH] USB: chaoskey: Fix slab-use-after-free in chaoskey_release()

  5. [PATCH 00/11] USB: serial: digi_acceleport: registration fix and cleanups

  6. [PATCH] usb: xhci: Use common error handling code in two functions

  7. [PATCH] usb: cdnsp: Use common error handling code in cdnsp_segment_alloc()

  8. [Bug 221633] New: thunderbolt: hard system freeze from repeated DP tunnel activation failures

  9. [GIT PULL] USB serial fixes for 7.1-rc8

最新文章

随机文章