Search Linux Wireless

Re: [PATCH 08/13] ath10k: bring back the WMI path for mgmt frames

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

 



On 25 September 2013 11:38, Bartosz Markowski
<bartosz.markowski@xxxxxxxxx> wrote:
> @@ -1497,16 +1497,23 @@ static void ath10k_tx_htt(struct ath10k *ar, struct sk_buff *skb)
>                 goto exit;
>         }
>
> -       if (ieee80211_is_mgmt(hdr->frame_control))
> -               ret = ath10k_htt_mgmt_tx(&ar->htt, skb);
> -       else if (ieee80211_is_nullfunc(hdr->frame_control))
> +       if (ieee80211_is_mgmt(hdr->frame_control)) {
> +               if (test_bit(ATH10K_FW_FEATURE_HAS_WMI_MGMT_TX,
> +                            ar->fw_features))
> +                       ret = ath10k_wmi_mgmt_tx(ar, skb);

Due to recent changes (WMI commands can block/sleep) this cannot be
so. ath10k_tx_htt() is called from an atomic context.

I'm seeing 2 aproaches here:
 a) management frame queue,
 b) use ieee80211_{stop,wake}_queues()

I'm worried (b) could degrade throughput. WMI endpoint has only 2 HTC
credits meaning management frame bursts will lock out data frame tx.


Michał.
--
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