lkml.org 
[lkml]   [2017]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 037/103] iwlwifi: mvm: Use aux queue for offchannel frames in dqa
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Beni Lev <beni.lev@intel.com>

    commit 6574dc943fc32a2fce69fab14891abca7eecb67c upstream.

    Since offchannel activity doesn't always require a BSS, e.g. ANQP
    sessions, offchannel frames should not use the BSS queue, because it
    might not be initialized.
    Use the auxilary queue instead

    Fixes: e3118ad74d7e ("iwlwifi: mvm: support tdls in dqa mode")
    Signed-off-by: Beni Lev <beni.lev@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
    +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
    @@ -568,9 +568,10 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mv
    * (this is not possible for unicast packets as a TLDS discovery
    * response are sent without a station entry); otherwise use the
    * AUX station.
    - * In DQA mode, if vif is of type STATION and frames are not multicast,
    - * they should be sent from the BSS queue. For example, TDLS setup
    - * frames should be sent on this queue, as they go through the AP.
    + * In DQA mode, if vif is of type STATION and frames are not multicast
    + * or offchannel, they should be sent from the BSS queue.
    + * For example, TDLS setup frames should be sent on this queue,
    + * as they go through the AP.
    */
    sta_id = mvm->aux_sta.sta_id;
    if (info.control.vif) {
    @@ -592,7 +593,8 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mv
    if (ap_sta_id != IWL_MVM_STATION_COUNT)
    sta_id = ap_sta_id;
    } else if (iwl_mvm_is_dqa_supported(mvm) &&
    - info.control.vif->type == NL80211_IFTYPE_STATION) {
    + info.control.vif->type == NL80211_IFTYPE_STATION &&
    + queue != mvm->aux_queue) {
    queue = IWL_MVM_DQA_BSS_CLIENT_QUEUE;
    }
    }

    \
     
     \ /
      Last update: 2017-05-11 17:07    [W:4.639 / U:0.548 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site