Dallo scorso novembre è stato segnalato un bug del kernel da un ingegnere Canonical dopo aver scoperto che il controller USB Intel Thunderbolt su vari laptop era”morto”dopo aver ripristinato il sistema. Questo problema è ora risolto con Linux 6.4 e questa correzione generica potrebbe finire per aiutare anche altro hardware.
Questa segnalazione di bug del kernel è stata aperta lo scorso novembre dopo che Canonical ha trovato alcuni laptop Intel Comet Lake dove il loro Il controller USB Thunderbolt non funzionava più dopo il ripristino del sistema su Linux. È stato difficile eseguire il debug fino a quando Mika Westerberg di Intel, che guida il lavoro Thunderbolt del kernel Linux, non è riuscito a mettere le mani sull’hardware interessato, che include almeno vari laptop Dell. Alla fine si è scoperto che interessava i controller Intel Titan Ridge xHCI e la soluzione è lasciare che il kernel attenda più a lungo per il dispositivo quando si riprende il sistema.
Con Linux 6.4 il codice di gestione dell’alimentazione PCI del kernel consentirà ora di attendere più a lungo prima che i dispositivi PCIe siano pronti dopo aver ripristinato il sistema, seguendo un approccio simile già adottato dal kernel Linux durante i ripristini dei dispositivi PCIe. Westerberg spiegato nella patch al codice del driver PCI comune:
“La specifica PCIe prescrive che un dispositivo possa impiegare fino a 1 secondo per riprendersi dal ripristino e questo stesso ritardo è prescritto quando si esce da D3cold (poiché comporta anche il ripristino). emerso, vale a dire Intel Titan Ridge xHCI, che richiede un ritardo maggiore anche nel percorso del codice di ripristino. Per questo motivo, fai in modo che il percorso del codice di ripristino utilizzi lo stesso ritardo esteso rispetto al percorso di ripristino.”
Poiché si tratta di una correzione al codice del driver comune e non specifico per Intel Titan Ridge xHCI, è possibile che possa aiutare anche qualche altro hardware stravagante.
L’one-liner che concede più tempo ai dispositivi PCIe per essere pronti al ripristino è stato inviato la scorsa settimana come parte del Modifiche PCI per Linux 6.4. Quel pull PCI ha anche una soluzione alternativa ASPM per i Chromebook, il controller PCIe di Qualcomm che abilita il sondaggio asincrono per impostazione predefinita per ridurre i tempi di avvio e varie altre modifiche hardware.