Re: [RFC bluetooth-next 2/4] at86rf230: use aret mode if ackreq is set while xmit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux