Hi, On Thu, Mar 3, 2022 at 1:25 PM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > > ieee802154_xmit_error() is the right helper to call when a transmission > has failed. Let's use it instead of open-coding it. > > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > --- > drivers/net/ieee802154/atusb.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c > index f27a5f535808..9fa7febddff2 100644 > --- a/drivers/net/ieee802154/atusb.c > +++ b/drivers/net/ieee802154/atusb.c > @@ -271,9 +271,8 @@ static void atusb_tx_done(struct atusb *atusb, u8 seq) > * unlikely case now that seq == expect is then true, but can > * happen and fail with a tx_skb = NULL; > */ > - ieee802154_wake_queue(atusb->hw); > - if (atusb->tx_skb) > - dev_kfree_skb_irq(atusb->tx_skb); > + ieee802154_xmit_error(atusb->hw, atusb->tx_skb, > + IEEE802154_MAC_ERROR); I think we should have a consens what kind of 802.15.4 error we deliver in such a case. This is more some kind of bus/device error not related to a 802.15.4 operation, and in this case we should use the SYSTEM_ERROR which 802.15.4 says it can be used for a kind of "user specific error"? I mean it is not user specific but 802.15.4 spec will never reference it to make some special handling if it occurs... just "something failed". - Alex