1 月 19 日消息,据 phoronix 报道,即将于今天晚间发布的 Linux 6.19-rc6 内核版本修复了苹果 M1 Pro / M1 Max / M1 Ultra 以及 M2 / M2 Pro / M2 Max / Ultra 机型 USB-C 端口控制器无法正确识别 USB 2.0 和 USB 3.x 设备的情况。
据介绍,此前 USB-C 端口控制器会触发多余的中断,导致 USB 角色反复切换到当前已处于激活状态的角色,从而引发异常。为此,Linux 6.19-rc6 内核现在会在 dwc3-apple 已处于目标状态时忽略这些 USB 角色切换,确保 USB-C 端口控制器与 dwc3-apple 始终保持一致状态,其行为也与 core.c 中的 __dwc3_set_mode () 保持一致。
此外,Linux 6.19-rc6 还引入了“在 DWC3 初始化之前提前设置 USB2 PHY 的工作模式”特性,主要用于解决在开机前或启动过程中已插入 USB2 设备时偶发的识别问题。
具体来说,在 Linux 启动前,USB2 PHY 通常运行在设备模式下,而在某些情况下,设备模式与之间的切换并不能可靠生效。为解决这一罕见问题,Linux 6.19-rc6 内核现在会在更早阶段完成 USB2 PHY 角色配置。需要注意的是,USB3 PHY 并不存在同样的问题,反而必须在 dwc3 启动后才能正确设置其角色。
除了上述对于苹果产品的 USB 修复外,Linux 6.19-rc6 还加入了对 PICAXE AXE027 编程线缆的 FTDI SIO 驱动支持、提升 Elgato 4K X 的兼容性,同时修复了以及一些小型 Bug,IT之家附更新日志地址(https://lore.kernel.org/lkml/aWz4Eyh6898JjAzB@kroah.com/T/#u)。