net: ieee802154: at86rf230: Call _xmit_hw_error() when failing to offload frames
authorMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 7 Apr 2022 10:08:59 +0000 (12:08 +0200)
committerStefan Schmidt <stefan@datenfreihafen.org>
Mon, 25 Apr 2022 18:52:22 +0000 (20:52 +0200)
If we end up at this location, it means that there was likely a hardware
issue (either a bus error when asynchronously offloading the packet to
the transceiver, or the transceiver took too long for some state
change). In this case it was decided to return IEEE802154_SYSTEM_ERROR
through the ieee802154_xmit_hw_error() helper dedicated to non
IEEE802.15.4 specific errors.

Let's use this helper instead of (almost) open-coding it.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/r/20220407100903.1695973-7-miquel.raynal@bootlin.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
drivers/net/ieee802154/at86rf230.c

index 563031c..0536ccd 100644 (file)
@@ -346,8 +346,7 @@ at86rf230_async_error_recover_complete(void *context)
 
        if (lp->was_tx) {
                lp->was_tx = 0;
-               dev_kfree_skb_any(lp->tx_skb);
-               ieee802154_wake_queue(lp->hw);
+               ieee802154_xmit_hw_error(lp->hw, lp->tx_skb);
        }
 }