Mula noong nakaraang Nobyembre ay isang ulat ng bug sa kernel mula sa isang Canonical engineer matapos malaman na ang Intel Thunderbolt USB controller sa iba’t ibang mga laptop ay”patay”pagkatapos ipagpatuloy ang system. Ang problemang iyon ay nalutas na ngayon sa Linux 6.4 at ang generic na pag-aayos na ito ay maaaring makatulong din sa iba pang hardware.
Ang ulat sa bug ng kernel na ito ay binuksan noong Nobyembre pagkatapos na mahanap ng Canonical ang ilang Intel Comet Lake laptop kung saan ang kanilang Ang Thunderbolt USB controller ay hindi na gumagana pagkatapos ng system resume sa Linux. Mahirap i-debug hanggang sa makuha ni Mika Westerberg ng Intel na namumuno sa gawain ng Thunderbolt ng Linux kernel ang mga apektadong hardware, na hindi bababa sa may kasamang iba’t ibang Dell laptop. Sa huli, natuklasang nakakaapekto ito sa mga controller ng Intel Titan Ridge xHCI at ang solusyon ay hayaan ang kernel na maghintay ng mas matagal para sa device kapag ipinagpatuloy ang system.
Sa Linux 6.4 ang PCI power management code ng kernel ay magbibigay-daan na ngayon sa paghihintay ng mas matagal para sa mga PCIe device na maging handa pagkatapos ipagpatuloy ang system, kasunod ng katulad na diskarte na ginawa na ng Linux kernel sa panahon ng PCIe device resets. Ipinaliwanag ni Westerberg sa one-line na patch sa karaniwang PCI driver code:
“Ang PCIe spec ay nagrereseta na ang isang device ay maaaring tumagal ng hanggang 1 segundo upang mabawi mula sa pag-reset at ang parehong pagkaantala ay inireseta kapag lalabas sa D3cold (tulad ng may kasamang pag-reset din). Maaaring pahabain ng device ang 1 segundong pagkaantala na ito sa pamamagitan ng pagkumpleto ng Status ng Kahilingan sa Pagsubok muli at tinatanggap namin iyon sa Linux na may 60 segundong cap, sa reset code path lang, hindi sa resume code path.
Gayunpaman, ang isang device ay may lumitaw, katulad ng Intel Titan Ridge xHCI, na nangangailangan din ng mas mahabang pagkaantala sa path ng resume code. Dahil dito, gawin ang resume code path upang magamit ang parehong pinahabang pagkaantala kaysa sa reset path.”
Dahil ito ay isang pag-aayos sa karaniwang driver code at hindi partikular sa Intel Titan Ridge xHCI, posibleng makatulong din ito sa iba pang kakaibang hardware.
Ang one-liner na nagbibigay ng karagdagang oras para sa mga PCIe device na maging handa sa resume ay ipinadala noong nakaraang linggo bilang bahagi ng mga pagbabago sa PCI para sa Linux 6.4. Ang PCI pull na iyon ay mayroon ding ASPM workaround para sa mga Chromebook, ang PCIe controller ng Qualcomm na nagpapagana ng async probing bilang default upang mabawasan ang mga oras ng boot, at iba’t ibang pagbabago sa hardware.