Subject: Re: [PATCH wpan-next v3 09/11] net: ieee802154: atusb: Call _xmit_error() when a transmission fails

From: Miquel Raynal <[email-masked]>
Date: Fri, 18 Mar 2022 08:57:49 +0100

Hi Alexander,

[email-masked] wrote on Sun, 13 Mar 2022 16:20:53 -0400:

> Hi,
> 
> On Thu, Mar 3, 2022 at 1:25 PM Miquel Raynal <[email-masked]> 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 <[email-masked]>
> > ---
> >  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".

Sure, I initially thought "MAC_ERROR" was generic enough, but you're
certainly right, it's probably best to switch to SYSTEM_ERROR in this
case.

Thanks,
Miquèl