You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe this issue is mentioned years ago, but due to inactive, I want to raise this issue.
The touchscreen driver starting from kernel 5.18 would crash randomly.
The current workaround is using older kernel (5.17) or apply this temporary workaround after the driver crash sudo modprobe -r spi_pxa2xx_platform sudo modprobe spi_pxa2xx_platform
However, the temporary workaround will only work for a while, as the driver would crash again. In dmesg, you can see the two message is spammed. I think there's a issue with the patch applied since 5.18.
Environment
Hardware model: Surface 3
Kernel version:6.4.2-surface
Distribution Ubuntu:
ram: 4G w/ 5G swap
`dmesg` output
Surface3-spi spi-MSHW0037:00: SPI transfer timed out
spi_master spi1: failed to transfer one message from queue
According to the discussion below linux-surface/kernel@a3421c1 and the commit message in linux-surface/kernel@df179b9, the patch you linked above should no longer be needed. Can you check whether that patch is still required in the latest v6.6 kernels?
6.6.6 is the same as 6.6.1 and 6.5.0. It works, but no where near what I would call "usable". It registers like every 5th touch. If you are lucky and actually are able to drag something, it lags behind about a second.
I did not want to recompile the kernal, so I'm booting into 5.17 and it's running like a dream (except no wifi).
Hmm, afaik v5.17 does not contain that patch either. So I guess the issue has been fixed in v5.7 (at which point we dropped the patch) and then been reintroduced in v5.18. Would still be good to confirm whether that patch still fixes it on the latest kernels.
I'd like to raise the discussion once more.
As nobody answered to you @qzed, I confirm the patch to be still needed on newest kernels.
Right now I am running Surface 3, 2/64GB version. Fresh install of Fedora 41 with GNOME, both default and linux-surface kernels have this issue.
Apart from a problem with tablet crashing when going near 30 - 35% battery (which I figured to be fixed by changing from intel_cpufreq to acpi_cpufreq, so no big deal imo) it's the only thing which happen to make the device unusable.
Activity
maxso-216 commentedon Sep 15, 2023
Using kernel with surface3-spi.patch fix the problem for me. User who are affected should patch the kernel for temporary workaround.
P8ntBal1551 commentedon Dec 6, 2023
How?
are you patching the live kernal, or adding it to the surface kernal, or rebuilding the kernal completely?
If you are rebuilding it completely, are you applying all the patches?
If you are adding it to the surface kernal, where did you find it?
Thanks
maxso-216 commentedon Dec 8, 2023
I just rebuild the kernel completely. And yes, I apply all the patch originally come up with in the repo, with the surface3-spi.patch.
Also, my surface 3 charging slot is broken, so I can not test if it still working. I hope this method still work for you.
qzed commentedon Dec 13, 2023
According to the discussion below linux-surface/kernel@a3421c1 and the commit message in linux-surface/kernel@df179b9, the patch you linked above should no longer be needed. Can you check whether that patch is still required in the latest v6.6 kernels?
P8ntBal1551 commentedon Dec 14, 2023
6.6.6 is the same as 6.6.1 and 6.5.0. It works, but no where near what I would call "usable". It registers like every 5th touch. If you are lucky and actually are able to drag something, it lags behind about a second.
I did not want to recompile the kernal, so I'm booting into 5.17 and it's running like a dream (except no wifi).
qzed commentedon Dec 14, 2023
Hmm, afaik v5.17 does not contain that patch either. So I guess the issue has been fixed in v5.7 (at which point we dropped the patch) and then been reintroduced in v5.18. Would still be good to confirm whether that patch still fixes it on the latest kernels.
Thertez commentedon Jan 4, 2025
Hello,
I'd like to raise the discussion once more.
As nobody answered to you @qzed, I confirm the patch to be still needed on newest kernels.
Right now I am running Surface 3, 2/64GB version. Fresh install of Fedora 41 with GNOME, both default and linux-surface kernels have this issue.
Apart from a problem with tablet crashing when going near 30 - 35% battery (which I figured to be fixed by changing from intel_cpufreq to acpi_cpufreq, so no big deal imo) it's the only thing which happen to make the device unusable.
Last night I compiled stock fedora kernel (ver. 6.12.8) following this instructions: https://docs.fedoraproject.org/en-US/quick-docs/kernel-testing-patches/ applying the patch and now since booting it (it's 3h already) - no touchscreen crashes.
Is it possible to bring the patch back to linux-surface kernel?
Thx in advance :)
surface3-spi: workaround: disable DMA mode to avoid crash by default
surface3-spi: workaround: disable DMA mode to avoid crash by default
surface3-spi: workaround: disable DMA mode to avoid crash by default
andy-shev commentedon Apr 22, 2025
So, the root cause is still unknown as far as I understand.
surface3-spi: workaround: disable DMA mode to avoid crash by default
surface3-spi: workaround: disable DMA mode to avoid crash by default
surface3-spi: workaround: disable DMA mode to avoid crash by default
surface3-spi: workaround: disable DMA mode to avoid crash by default
169 remaining items
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
surface3-spi: workaround: disable DMA mode to avoid crash by default
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
surface3-spi: workaround: disable DMA mode to avoid crash by default
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…
SURFACE: surface3-spi: workaround: disable DMA mode to avoid crash by…