Viime marraskuusta lähtien Canonical-insinööri on raportoinut ytimen bugista havaittuaan, että useiden kannettavien tietokoneiden Intel Thunderbolt USB-ohjain oli”kuollut”järjestelmän uudelleenkäynnistyksen jälkeen. Tämä ongelma on nyt ratkaistu Linux 6.4:llä, ja tämä yleinen korjaus voi päätyä auttamaan myös muita laitteita.

Tämä ytimen virheraportti avattiin viime marraskuussa sen jälkeen, kun Canonical löysi muutaman Intel Comet Lake-kannettavan. Thunderbolt USB-ohjain ei enää toiminut järjestelmän jatkamisen jälkeen Linuxissa. Virheenkorjaus oli vaikeaa, kunnes Intelin Mika Westerberg, joka johtaa Linux-ytimen Thunderbolt-työtä, sai käsiinsä vaikutuksen alaisen laitteiston, joka sisältää ainakin useita Dellin kannettavia tietokoneita. Lopulta sen havaittiin vaikuttavan Intel Titan Ridge xHCI-ohjaimiin, ja ratkaisuna on antaa ytimen odottaa laitetta pidempään, kun järjestelmää jatketaan.

Linux 6.4:ssä ytimen PCI-virranhallintakoodi mahdollistaa nyt pidempään odottamisen, jotta PCIe-laitteet valmistuvat järjestelmän uudelleenkäynnistyksen jälkeen, noudattaen samanlaista lähestymistapaa, jota Linux-ydin on jo omaksunut PCIe-laitteiden nollausten yhteydessä. Westerberg selitti yksirivisisessä korjauksessa yleiseen PCI-ajurikoodiin:

“PCIe-spesifikaatiot edellyttävät, että laitteen palautuminen nollauksesta voi kestää jopa 1 sekunnin ja sama viive määrätään, kun se poistuu D3coldista (kuten se sisältää myös nollauksen). Laite voi pidentää tätä 1 sekunnin viivettä Request Retry Status-toimintojen avulla, ja se on mahdollista Linuxissa 60 sekunnin rajoituksella, vain nollauskoodipolussa, ei jatkamiskoodipolussa.

Laitteessa on kuitenkin ilmaantunut, nimittäin Intel Titan Ridge xHCI, joka vaatii pidemmän viiveen myös jatkamiskoodipolussa. Tästä syystä käytä jatkamiskoodipolussa samaa pidennettyä viivettä kuin nollauspolussa.”

Koska se on korjaus yleiseen ajurikoodiin eikä Inteliin Titan Ridge xHCI, on mahdollista, että se voi auttaa myös muita omituisia laitteita.

PCIe-laitteille lisäaikaa lisäävä versio, joka antaa lisäaikaa PCIe-laitteiden valmistumiselle, lähetettiin viime viikolla osana PCI-muutokset Linux 6.4:lle. Tuossa PCI-vedossa on myös ASPM-kiertotapa Chromebookeille, Qualcommin PCIe-ohjain, joka mahdollistaa oletusarvoisesti asynkronoinnin käynnistysaikojen lyhentämiseksi, ja monia muita laitteistomuutoksia.

Categories: IT Info