iwlwifi: transport's tx_agg_alloc must not sleep
authorJohannes Berg <johannes.berg@intel.com>
Mon, 5 Mar 2012 19:24:41 +0000 (11:24 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 6 Mar 2012 20:16:13 +0000 (15:16 -0500)
The annotation/documentation is wrong, we call
it in a context that can't sleep.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-trans.h

index e8ab8d8..0197f31 100644 (file)
@@ -229,7 +229,7 @@ static inline void iwl_free_resp(struct iwl_host_cmd *cmd)
  * @reclaim: free packet until ssn. Returns a list of freed packets.
  *     Must be atomic
  * @tx_agg_alloc: allocate resources for a TX BA session
- *     May sleep
+ *     Must be atomic
  * @tx_agg_setup: setup a tx queue for AMPDU - will be called once the HW is
  *     ready and a successful ADDBA response has been received.
  *     May sleep
@@ -474,8 +474,6 @@ static inline int iwl_trans_tx_agg_disable(struct iwl_trans *trans,
 static inline int iwl_trans_tx_agg_alloc(struct iwl_trans *trans,
                                         int sta_id, int tid)
 {
-       might_sleep();
-
        if (trans->state != IWL_TRANS_FW_ALIVE)
                IWL_ERR(trans, "%s bad state = %d", __func__, trans->state);