Subject: Re: [PATCH] mac80211: fix TX status reporting for ieee80211s

From: Johannes Berg <[email-masked]>
Date: Mon, 03 Sep 2018 10:33:30 +0200

On Fri, 2018-08-31 at 15:12 +0800, Yuan-Chi Pang wrote:

>  void ieee80211s_init(void);
>  void ieee80211s_update_metric(struct ieee80211_local *local,
> -			      struct sta_info *sta, struct sk_buff *skb);
> +			struct sta_info *sta, struct ieee80211_tx_status *st);

please keep things indented properly

>  void ieee80211s_update_metric(struct ieee80211_local *local,
> -		struct sta_info *sta, struct sk_buff *skb)
> +		struct sta_info *sta, struct ieee80211_tx_status *st)

and maybe fix the indentation here while you're changing it

>  {
> -	struct ieee80211_tx_info *txinfo = IEEE80211_SKB_CB(skb);
> -	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
> +	struct ieee80211_tx_info *txinfo = st->info;
>  	int failed;
>  
> -	if (!ieee80211_is_data(hdr->frame_control))
> -		return;

Why are you removing this condition? You didn't say anything about that.

I sort of see why (you no longer even have the skb/hdr), but you should
indicate why this is OK.
 
>  		rate_control_tx_status(local, sband, status);
> +		if (ieee80211_vif_is_mesh(&sta->sdata->vif))
> +			ieee80211s_update_metric(local, sta, status)

This is the only "real" change I guess, some more description about it
would be good.

I can sort of reverse engineer it from your commit log, but you should
be more explicit.

johannes