zephyr/drivers/ieee802154
Gerson Fernando Budke 97967f0526 drivers: ieee802154: rf2xx: Fix hang on 0x2c isr_status
When transceiver is overload on reception a frame can be stored on
the internal buffer without processing a frame start interrupt. The
frame will complete and system will received a interrupt and signal
receiver thread with an isr_status equal to 0x2c.

The current implementation process one flag at time and it may hang
when status is 0x2c. This issue can be reproduced using two nodes
where one perform a regular TX broadcast and tThe other one should
be wait for frames. The receptor should run on debug mode and system
should be started normally. The problem happens when pressing CTRL+C
on the debugger, which will cause system to stop. However, the
transceiver still can receive one last frame. After a few transmission
user can continue application and a isr_status of 0x2c will be visible
if CONFIG_IEEE802154_DRIVER_LOG_DEBUG is enabled.

This fixes the current issue by processing all RF2XX_TRX_END events.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2023-01-23 09:33:53 -08:00
..
CMakeLists.txt drivers: ieee802154: cmake: remove TI compile definitions 2022-07-28 20:51:55 +02:00
ieee802154_b91.c drivers: ieee802154: don't allocate rx pkt from tx pool 2022-10-17 16:54:37 +02:00
ieee802154_b91.h drivers: ieee802154: b91: Fix Set Channel API and ACK detection 2021-12-14 13:47:25 -06:00
ieee802154_cc13xx_cc26xx.c devices: constify device pointers initialized at compile time 2022-08-22 17:08:26 +02:00
ieee802154_cc13xx_cc26xx.h drivers: ieee802154: introduce consistent MTU definition 2022-08-31 21:52:37 +00:00
ieee802154_cc13xx_cc26xx_subg.c devices: constify device pointers initialized at compile time 2022-08-22 17:08:26 +02:00
ieee802154_cc13xx_cc26xx_subg.h drivers: ieee802154: introduce consistent MTU definition 2022-08-31 21:52:37 +00:00
ieee802154_cc1200.c drivers: tests: replace usage of spi_is_ready with spi_is_ready_dt 2022-12-07 09:40:23 -06:00
ieee802154_cc1200.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
ieee802154_cc1200_regs.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
ieee802154_cc1200_rf.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
ieee802154_cc2520.c drivers: tests: replace usage of spi_is_ready with spi_is_ready_dt 2022-12-07 09:40:23 -06:00
ieee802154_cc2520.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
ieee802154_cc2520_regs.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
ieee802154_dw1000.c drivers: tests: replace usage of spi_is_ready with spi_is_ready_dt 2022-12-07 09:40:23 -06:00
ieee802154_dw1000_regs.h everywhere: fix typos 2022-03-18 13:24:08 -04:00
ieee802154_kw41z.c drivers: ieee802154: don't allocate rx pkt from tx pool 2022-10-17 16:54:37 +02:00
ieee802154_mcr20a.c drivers: tests: replace usage of spi_is_ready with spi_is_ready_dt 2022-12-07 09:40:23 -06:00
ieee802154_mcr20a.h drivers: ieee802154: mcr20a: Remove unused variable 2022-06-29 06:02:28 -05:00
ieee802154_mcr20a_regs.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
ieee802154_nrf5.c all: Fix "#if IS_ENABLED(CONFIG_FOO)" occurrences 2022-12-21 10:09:23 +01:00
ieee802154_nrf5.h drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
ieee802154_rf2xx.c drivers: ieee802154: rf2xx: Fix hang on 0x2c isr_status 2023-01-23 09:33:53 -08:00
ieee802154_rf2xx.h drivers: ieee802154: rf2xx: Add support to Sub-Giga 2022-09-09 10:31:35 -07:00
ieee802154_rf2xx_iface.c drivers: migrate includes to <zephyr/...> 2022-05-06 19:58:21 +02:00
ieee802154_rf2xx_iface.h everywhere: fix typos 2022-03-14 20:22:24 -04:00
ieee802154_rf2xx_regs.h drivers: ieee802154: rf2xx: Add support to Sub-Giga 2022-09-09 10:31:35 -07:00
ieee802154_uart_pipe.c net: pkt: Introduce minimum length requirement to net_pkt_get_frag() 2022-11-19 07:39:32 -05:00
ieee802154_uart_pipe.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
Kconfig drivers: ieee802154: Make raw mode and l2 mutually exclusive 2022-08-05 15:04:43 +02:00
Kconfig.b91 drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00
Kconfig.cc13xx_cc26xx crc: Make the build of crc function dependent on a Kconfig 2022-11-23 13:30:00 +01:00
Kconfig.cc1200 drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00
Kconfig.cc2520 drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00
Kconfig.dw1000 drivers: ieee802154: Move to using select in Kconfig for SPI bus 2022-08-12 11:33:02 +02:00
Kconfig.kw41z drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00
Kconfig.mcr20a drivers: ieee802154: Move to using select in Kconfig for SPI bus 2022-08-12 11:33:02 +02:00
Kconfig.nrf5 drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00
Kconfig.rf2xx drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00
Kconfig.uart_pipe drivers: ieee802154: IEEE802154 depends on NETWORKING 2022-08-05 12:56:47 +02:00