Search Linux Wireless

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

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

 



On , Michal Kazior wrote:
On 8 March 2016 at 18:25, Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux