[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170428234247.GQ15143@minitux>
Date: Fri, 28 Apr 2017 16:42:47 -0700
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Johannes Berg <johannes@...solutions.net>
Cc: Eugene Krasnikov <k.eugene.e@...il.com>,
Kalle Valo <kvalo@...eaurora.org>,
Andy Gross <andy.gross@...aro.org>,
David Brown <david.brown@...aro.org>,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-soc@...r.kernel.org, linux-wireless@...r.kernel.org,
netdev@...r.kernel.org, wcn36xx@...ts.infradead.org,
Nicolas Dechesne <nicolas.dechesne@...aro.org>
Subject: Re: [PATCH 1/2] wcn36xx: Pass used skb to ieee80211_tx_status()
On Thu 27 Apr 01:22 PDT 2017, Johannes Berg wrote:
>
> > @@ -371,7 +371,7 @@ static void reap_tx_dxes(struct wcn36xx *wcn,
> > struct wcn36xx_dxe_ch *ch)
> > info = IEEE80211_SKB_CB(ctl->skb);
> > if (!(info->flags &
> > IEEE80211_TX_CTL_REQ_TX_STATUS)) {
> > /* Keep frame until TX status comes
> > */
> > - ieee80211_free_txskb(wcn->hw, ctl-
> > >skb);
> > + ieee80211_tx_status(wcn->hw, ctl-
> > >skb);
> >
>
> I don't think this is a good idea.
Thanks for letting me know :)
> This code intentionally checked if TX status was requested, and if not
> then it doesn't go to the effort of building it.
>
What I'm finding puzzling is the fact that the only caller of
ieee80211_led_tx() is ieee80211_tx_status() and it seems like drivers,
such as ath10k, call this for each packet handled - but I'm likely
missing something.
> As it is with your patch, it'll go and report the TX status without any
> TX status information - which is handled in wcn36xx_dxe_tx_ack_ind()
> for those frames needing it.
>
Right, it doesn't sound desired. However, during normal operation I'm
not seeing IEEE80211_TX_CTL_REQ_TX_STATUS being set and as such
ieee80211_led_tx() is never called.
Regards,
Bjorn
Powered by blists - more mailing lists