On Sun, Jul 26, 2015 at 11:17:29PM +0200, Alexander Aring wrote: > This patch does a different aret mode handling. We will drop the > max_frame_retries "-1" value and check on the ack request bit while > xmit. If it's set we doing transmit in aret mode. If it's not set we > doing a transmit in normal tx mode. > > This allows a mixed aret and non aret mode while interface is up and > doesn't depends on the max_frame_retries value inside the mib. > > Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> > --- > drivers/net/ieee802154/at86rf230.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c > index f7bd9f3..3aac100 100644 > --- a/drivers/net/ieee802154/at86rf230.c > +++ b/drivers/net/ieee802154/at86rf230.c > @@ -99,7 +99,6 @@ struct at86rf230_local { > > bool tx_aret; > unsigned long cal_timeout; > - s8 max_frame_retries; > bool is_tx; > bool is_tx_from_off; > u8 tx_retry; > @@ -900,10 +899,17 @@ at86rf230_xmit(struct ieee802154_hw *hw, struct sk_buff *skb) > { > struct at86rf230_local *lp = hw->priv; > struct at86rf230_state_change *ctx = &lp->tx; > + __le16 fc; > > lp->tx_skb = skb; > lp->tx_retry = 0; > > + fc = ieee802154_get_fc_from_skb(skb); > + if (ieee802154_is_ackreq(fc)) > + lp->tx_aret = true; > + else > + lp->tx_aret = false; doh, I should use here: lp->tx_aret = ieee802154_is_ackreq(fc); Anyway it's a RFC only and comments are welcome. ;-) - Alex -- To unsubscribe from this list: send the line "unsubscribe linux-wpan" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html