This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit ee8054a6a456651551c3e60a3b59094b16377a00
Author: raiden00pl <[email protected]>
AuthorDate: Sat Oct 24 13:47:13 2026 +0200

    wireless/ieee802154: stop the timer of a POLL or ASSOC a data request ends
    
    A failed or empty data request ended the POLL or ASSOC but left its
    timer running: the association timer of a beacon-enabled PAN and the
    timer of an earlier data request.  On expiry the timeout confirmed the
    operation a second time and released it again.
    
    Assisted-by: Claude Code
    Signed-off-by: raiden00pl <[email protected]>
---
 wireless/ieee802154/mac802154_assoc.c | 1 +
 wireless/ieee802154/mac802154_poll.c  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/wireless/ieee802154/mac802154_assoc.c 
b/wireless/ieee802154/mac802154_assoc.c
index fc5c1a145b3..aaa3b3d8305 100644
--- a/wireless/ieee802154/mac802154_assoc.c
+++ b/wireless/ieee802154/mac802154_assoc.c
@@ -614,6 +614,7 @@ void mac802154_txdone_datareq_assoc(FAR struct 
ieee802154_privmac_s *priv,
 
       /* We are now done the operation, and can release the command */
 
+      mac802154_timercancel(priv);
       mac802154_oprxdisable(priv);
       priv->curr_op = MAC802154_OP_NONE;
       nxsem_post(&priv->opsem);
diff --git a/wireless/ieee802154/mac802154_poll.c 
b/wireless/ieee802154/mac802154_poll.c
index ed934a833ef..ca6169e06e0 100644
--- a/wireless/ieee802154/mac802154_poll.c
+++ b/wireless/ieee802154/mac802154_poll.c
@@ -204,6 +204,7 @@ void mac802154_txdone_datareq_poll(FAR struct 
ieee802154_privmac_s *priv,
 
       /* We are now done the operation, and can release the command */
 
+      mac802154_timercancel(priv);
       mac802154_oprxdisable(priv);
       priv->curr_op = MAC802154_OP_NONE;
       nxsem_post(&priv->opsem);

Reply via email to