lkml.org 
[lkml]   [2013]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 099/145] iwlwifi: pcie: wake the queue if stopped when being unmapped
    Date
    3.8.13.5 -stable review patch.  If anyone has any objections, please let me know.

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

    From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

    commit 8a487b1a7432b20ff3f82387a8ce7555a964b44e upstream.

    When the queue is unmapped while it was so loaded that
    mac80211's was stopped, we need to wake the queue after
    having freed all the packets in the queue.
    Not doing so can result in weird stuff like:

    * run lots of traffic (mac80211's queue gets stopped)
    * RFKILL
    * de-assert RFKILL
    * no traffic

    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/wireless/iwlwifi/pcie/tx.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/net/wireless/iwlwifi/pcie/tx.c b/drivers/net/wireless/iwlwifi/pcie/tx.c
    index c93a7cd..e4345e3 100644
    --- a/drivers/net/wireless/iwlwifi/pcie/tx.c
    +++ b/drivers/net/wireless/iwlwifi/pcie/tx.c
    @@ -581,6 +581,9 @@ static void iwl_pcie_txq_unmap(struct iwl_trans *trans, int txq_id)
    }
    txq->active = false;
    spin_unlock_bh(&txq->lock);
    +
    + /* just in case - this queue may have been stopped */
    + iwl_wake_queue(trans, txq);
    }

    /*
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-07-18 08:21    [W:4.124 / U:0.320 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site