[PATCH v4] ath10k: move mgmt descriptor limit handle under mgmt_tx

Rajkumar Manoharan rmanohar at codeaurora.org
Tue Mar 8 22:08:31 PST 2016


On , Michal Kazior wrote:
> On 8 March 2016 at 18:25, Rajkumar Manoharan 
> <rmanohar at qti.qualcomm.com> wrote:
> [...]
>> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
>> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
>> @@ -2326,7 +2326,12 @@ void ath10k_htt_t2h_msg_handler(struct ath10k 
>> *ar, struct sk_buff *skb)
>>                         break;
>>                 }
>> 
>> -               ath10k_txrx_tx_unref(htt, &tx_done);
>> +               status = ath10k_txrx_tx_unref(htt, &tx_done);
>> +               if (!status) {
>> +                       spin_lock_bh(&htt->tx_lock);
>> +                       ath10k_htt_tx_mgmt_dec_pending(htt);
>> +                       spin_unlock_bh(&htt->tx_lock);
>> +               }
> [...]
>> @@ -3978,14 +3976,13 @@ static void ath10k_mac_op_tx(struct 
>> ieee80211_hw *hw,
>>         txpath = ath10k_mac_tx_h_get_txpath(ar, skb, txmode);
>>         is_htt = (txpath == ATH10K_MAC_TX_HTT ||
>>                   txpath == ATH10K_MAC_TX_HTT_MGMT);
>> +       is_mgmt = (txpath == ATH10K_MAC_TX_HTT_MGMT);
> 
> Are you sure you want to be counting nullfuncs here in as well (and
> possibly other frames that end up, for whatever reason, on htt-mgmt
> tx-path?)
> 

frames that are transmitted via MGMT_TX are using reserved descriptor 
slots in firmware. So irrespective of frame type, num_pending_mgmt_tx 
should count all to limit probe resp. Here mgmt_tx does not mean frame 
type but HTT txmode (HTT_H2T_MSG_TYPE_MGMT_TX).

So ATH10K_SKB_F_MGMT check in tx-compl is not needed. is_mgmt = (txpath 
== ATH10K_MAC_TX_HTT_MGMT);

Do you see any issues if nullfunc/other data via MGMT_TX are counted.

-Rajkumar




More information about the ath10k mailing list