Message ID | 20220207144804.708118-5-miquel.raynal@bootlin.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ieee802154: Synchronous Tx API | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
Hi, On Mon, Feb 7, 2022 at 9:48 AM Miquel Raynal <miquel.raynal@bootlin.com> 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@bootlin.com> > --- > drivers/net/ieee802154/atusb.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c > index f27a5f535808..0e6f180b4e79 100644 > --- a/drivers/net/ieee802154/atusb.c > +++ b/drivers/net/ieee802154/atusb.c > @@ -271,9 +271,7 @@ 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, false); > Are you sure you can easily convert this? You should introduce a "ieee802154_xmit_error_irq()"? - Alex
Hi, On Sun, Feb 20, 2022 at 6:35 PM Alexander Aring <alex.aring@gmail.com> wrote: > > Hi, > > On Mon, Feb 7, 2022 at 9:48 AM Miquel Raynal <miquel.raynal@bootlin.com> 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@bootlin.com> > > --- > > drivers/net/ieee802154/atusb.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c > > index f27a5f535808..0e6f180b4e79 100644 > > --- a/drivers/net/ieee802154/atusb.c > > +++ b/drivers/net/ieee802154/atusb.c > > @@ -271,9 +271,7 @@ 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, false); > > > Are you sure you can easily convert this? You should introduce a > "ieee802154_xmit_error_irq()"? Should be fine as you are using dev_kfree_skb_any(). - Alex
Hi Alexander, alex.aring@gmail.com wrote on Wed, 23 Feb 2022 21:00:23 -0500: > Hi, > > On Sun, Feb 20, 2022 at 6:35 PM Alexander Aring <alex.aring@gmail.com> wrote: > > > > Hi, > > > > On Mon, Feb 7, 2022 at 9:48 AM Miquel Raynal <miquel.raynal@bootlin.com> 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@bootlin.com> > > > --- > > > drivers/net/ieee802154/atusb.c | 4 +--- > > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > > > diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c > > > index f27a5f535808..0e6f180b4e79 100644 > > > --- a/drivers/net/ieee802154/atusb.c > > > +++ b/drivers/net/ieee802154/atusb.c > > > @@ -271,9 +271,7 @@ 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, false); > > > > > Are you sure you can easily convert this? You should introduce a > > "ieee802154_xmit_error_irq()"? > > Should be fine as you are using dev_kfree_skb_any(). Haha, you answer my questions before I even take the time to write them down :-) Yes I agree, because of dev_kfree_skb_any(), my understanding is that we do not need an _irq specific error handler. Thanks, Miquèl
diff --git a/drivers/net/ieee802154/atusb.c b/drivers/net/ieee802154/atusb.c index f27a5f535808..0e6f180b4e79 100644 --- a/drivers/net/ieee802154/atusb.c +++ b/drivers/net/ieee802154/atusb.c @@ -271,9 +271,7 @@ 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, false); } }
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@bootlin.com> --- drivers/net/ieee802154/atusb.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)