Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BANANAPI BPI-R4] SPI driver spi-mt65xx crashes kernel 6.6 #15313

Open
1 task done
drozdi70 opened this issue Apr 28, 2024 · 1 comment
Open
1 task done

[BANANAPI BPI-R4] SPI driver spi-mt65xx crashes kernel 6.6 #15313

drozdi70 opened this issue Apr 28, 2024 · 1 comment
Labels
bug issue report with a confirmed bug Self Built Image SNAPSHOT target/mediatek pull request/issue for mediatek target

Comments

@drozdi70
Copy link

drozdi70 commented Apr 28, 2024

Describe the bug

root@...-R4:/# echo "help" > /dev/spidev1.0
[ 131.681610] SError Interrupt on CPU3, code 0x00000000bf000002 -- SError
[ 131.681623] CPU: 3 PID: 1306 Comm: ash Tainted: G O 6.6.23 #0
[ 131.681630] Hardware name: Bananapi BPI-R4 (DT)
[ 131.681632] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 131.681637] pc : mtk_spi_hw_init (/home/openwrt66/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.6.23/drivers/spi/spi-mt65xx.c:356) >>>>> >>>> if (spi->mode & SPI_LOOP)
[ 131.681646] lr : mtk_spi_prepare_message (/home/openwrt66/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.6.23/drivers/spi/spi-mt65xx.c:450) >>>>>>>> static void spi_remove(struct device *dev) {
[ 131.681649] sp : ffffffc081d7bb10
[ 131.681651] x29: ffffffc081d7bb10 x28: ffffff80c1b46780 x27: 0000000000000000
[ 131.681659] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[ 131.681664] x23: ffffff80c112a000 x22: ffffffc081d7bc20 x21: 0000000000000000
[ 131.681668] x20: ffffff80c112a000 x19: ffffffffffffffff x18: 0000000000000000
[ 131.681673] x17: 0000000000000000 x16: 0000000000000000 x15: 0000007fabeef6c0
[ 131.681677] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[ 131.681681] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000004
[ 131.681685] x8 : 0000000000000002 x7 : 0000000000000001 x6 : 0000000000000001
[ 131.681689] x5 : 0000000000000001 x4 : ffffffc0808df408 x3 : ffffff80c112a540
[ 131.681693] x2 : 0000000000000000 x1 : ffffff80c0966000 x0 : 0000000000000001
[ 131.681699] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 131.681701] SMP: stopping secondary CPUs
[ 131.681706] Kernel Offset: disabled
[ 131.681707] CPU features: 0x0,00000000,20000000,1000400b
[ 131.681710] Memory Limit: none
[ 131.689561] pstore: backend (ramoops) writing error (-28)
PANIC at PC : 0x00000000430048a8

root@...-R4:/nvme/work/oled# spidev_test -D /dev/spidev1.0 -v
[ 117.280573] SError Interrupt on CPU2, code 0x00000000bf000002 -- SError
[ 117.280587] CPU: 2 PID: 4597 Comm: spidev_test Tainted: G O 6.6.23 #0
[ 117.280593] Hardware name: Bananapi BPI-R4 (DT)
[ 117.280595] pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 117.280600] pc : mtk_spi_set_cs (/home/openwrt66/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.6.23/drivers/spi/spi-mt65xx.c:453) >>>>>>> static void mtk_spi_set_cs(struct spi_device *spi, bool enable) {
[ 117.280610] lr : spi_set_cs (/home/openwrt66/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.6.23/drivers/spi/spi.c:996 (discriminator 1)) >>>>> if (spi_get_csgpiod(spi, 0) || !spi->controller->set_cs_timing) {
[ 117.280616] sp : ffffffc085ecbc00
[ 117.280618] x29: ffffffc085ecbc00 x28: ffffff80ca3d2280 x27: 0000000000000000
[ 117.280625] x26: 0000000000000000 x25: ffffff80c1fe21c0 x24: ffffff80c1fe2188
[ 117.280630] x23: ffffff80c0d9e800 x22: 0000000000000000 x21: 0000000000000000
[ 117.280634] x20: 0000000000000000 x19: ffffff80c0d9e800 x18: 0000000000000000
[ 117.280639] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[ 117.280643] x14: 02971e346eefd562 x13: 0140fc4c1b8dc750 x12: 0000000000000002
[ 117.280648] x11: 0000000000000000 x10: 0000000000000400 x9 : 000000021a0d78ed
[ 117.280652] x8 : 0000000000000800 x7 : ffffff80c0f9dcd0 x6 : 0000000000000000
[ 117.280657] x5 : 000000021a2fcdfd x4 : ffffff80c0e2a800 x3 : 0000000000000000
[ 117.280661] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffffff80c0e2ad40
[ 117.280667] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 117.280669] SMP: stopping secondary CPUs
[ 117.280677] Kernel Offset: disabled
[ 117.280678] CPU features: 0x0,00000000,20000000,1000400b
[ 117.280681] Memory Limit: none
[ 117.2885p2] pstore: backend (ramoops) writing error (-28)
PANIC at PC : 0x00000000430048a8

root@...-R4:~# spi-config -d /dev/spidev1.0 --speed=1000000
[ 409.674045] SError Interrupt on CPU0, code 0x00000000bf000002 -- SError
[ 409.674059] CPU: 0 PID: 5583 Comm: spi-config Tainted: G O 6.6.23 #0
[ 409.674066] Hardware name: Bananapi BPI-R4 (DT)
[ 409.674068] pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 409.674072] pc : mtk_spi_set_cs+0x54/0x80
[ 409.674082] lr : spi_set_cs+0x88/0x1dc
[ 409.674088] sp : ffffffc08738bc00
[ 409.674089] x29: ffffffc08738bc00 x28: ffffff80ce051700 x27: 0000000000000000
[ 409.674097] x26: 0000000000000000 x25: ffffff80c1679040 x24: ffffff80c1679008
[ 409.674102] x23: ffffff80c0be9800 x22: 0000000000000000 x21: 0000000000000000
[ 409.674106] x20: 0000000000000000 x19: ffffff80c0be9800 x18: 0000000000000000
[ 409.674111] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[ 409.674115] x14: 02d06a0f57810356 x13: 01683736ecc24756 x12: 0000000001683736
[ 409.674120] x11: 00000000fa83b2da x10: 000000000000b67e x9 : 0000000000000009
[ 409.674124] x8 : ffffff80ff76f400 x7 : ffffff80c0d66850 x6 : 0000000000000002
[ 409.674128] x5 : 0000000620ecf26e x4 : ffffff80c0d7c000 x3 : 0000000000000000
[ 409.674133] x2 : 0000000000000000 x1 : 0000000000000001 x0 : ffffff80c0d7c540
[ 409.674139] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 409.674142] SMP: stopping secondary CPUs
[ 409.674147] Kernel Offset: disabled
[ 409.674148] CPU features: 0x0,00000000,20000000,1000400b
[ 409.674152] Memory Limit: none
[ 409.682019] pstore: backend (ramoops) writing error (-28)
PANIC at PC : 0x00000000430048a8

OpenWrt version

r25725-29cca6cfee

OpenWrt release

SNAPSHOT

OpenWrt target/subtarget

mediatek/filogic

Device

Bananapi BPI-R4

Image kind

Self-built image

Steps to reproduce

echo "help" > /dev/spidev1.0
spidev_test -D /dev/spidev1.0 -v
spidev_test -D /dev/spidev1.0 -v -H -O

Actual behaviour

SPI doesn't work.

Expected behaviour

No kernel crash

Additional info

No response

Diffconfig

No response

Terms

  • I am reporting an issue for OpenWrt, not an unsupported fork.
@drozdi70 drozdi70 added bug issue report with a confirmed bug bug-report to-triage labels Apr 28, 2024
@drozdi70
Copy link
Author

root@BPI-R4:~# spi-config -d /dev/spidev1.0 -q
/dev/spidev1.0: mode=3, lsb=0, bits=8, speed=100000, spiready=0

@github-actions github-actions bot added SNAPSHOT target/mediatek pull request/issue for mediatek target Self Built Image and removed to-triage bug-report labels Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug issue report with a confirmed bug Self Built Image SNAPSHOT target/mediatek pull request/issue for mediatek target
Projects
None yet
Development

No branches or pull requests

1 participant