Desde noviembre pasado, ha habido un informe de error del kernel de un ingeniero de Canonical después de descubrir que el controlador USB Intel Thunderbolt en varias computadoras portátiles estaba”muerto”después de reanudar el sistema. Ese problema ahora se resolvió con Linux 6.4 y esta solución genérica también puede ayudar a otro hardware.

Este informe de error del kernel se abrió en noviembre pasado después de que Canonical encontrara algunas computadoras portátiles Intel Comet Lake donde su El controlador USB Thunderbolt ya no funcionaba después de que el sistema se reanudara en Linux. Fue difícil depurar hasta que Mika Westerberg de Intel, quien dirige el trabajo Thunderbolt del kernel de Linux, pudo tener en sus manos el hardware afectado, que al menos incluye varias computadoras portátiles Dell. En última instancia, se descubrió que afectaba a los controladores Intel Titan Ridge xHCI y la solución es dejar que el kernel espere más tiempo para el dispositivo al reanudar el sistema.

Con Linux 6.4, el código de administración de energía PCI del kernel ahora permitirá esperar más tiempo para que los dispositivos PCIe estén listos después de reanudar el sistema, siguiendo un enfoque similar ya adoptado por el kernel de Linux durante los reinicios de dispositivos PCIe. Westerberg explicó en el parche al código del controlador PCI común:

“La especificación PCIe prescribe que un dispositivo puede tardar hasta 1 segundo en recuperarse del reinicio y este mismo retraso se prescribe al salir de D3cold (como implica restablecer también). El dispositivo puede extender este retraso de 1 segundo a través de las finalizaciones de Estado de reintento de solicitud y lo acomodamos en Linux con un límite de 60 segundos, solo en la ruta del código de restablecimiento, no en la ruta del código de reanudación.

Sin embargo, un dispositivo tiene apareció, a saber, Intel Titan Ridge xHCI, que requiere una demora más prolongada también en la ruta del código de reanudación. Por esta razón, haga que la ruta del código de reanudación use esta misma demora extendida que con la ruta de reinicio”.

Ya que es una corrección del código del controlador común y no específico de Intel Titan Ridge xHCI, es posible que también ayude a algún otro hardware peculiar.

La semana pasada se envió el resumen que permite tiempo adicional para que los dispositivos PCIe estén listos en la reanudación como parte de Cambios de PCI para Linux 6.4. Esa extracción de PCI también tiene una solución ASPM para Chromebooks, el controlador PCIe de Qualcomm que permite el sondeo asíncrono de forma predeterminada para reducir los tiempos de arranque y varios otros cambios de hardware.

Categories: IT Info