On 02.03.2021 22:10:49, ukrfoil.com, Cтудиопак Украина, Восточный регион wrote: > The reason for the terminal freezing on these boards (as an example of > Nanopi NEO) occurs in this function when trying to disable interrupts > disable_irq(spi->irq); If you comment out this given call, the hangs > do not occur. Nice debugging! Can you give us the complete device tree and the output of: cat /proc/interrupts Maybe there's a shared interrupt that's vital for your system. One note: | can0: can@0 { | reg = <0>; | compatible = "microchip,mcp2515"; | pinctrl-names = "default"; | pinctrl-0 = <&can0_pin_irq>; | interrupt-parent = <&pio>; | interrupts = <6 8 IRQ_TYPE_EDGE_FALLING>; You better use IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING, but that's unrelated to this problem. | clocks = <&can0_osc_fixed>; | spi-max-frequency = <10000000>; | gpio-controller; | gpio-cells = <2>; | status = "okay"; | }; regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: PGP signature