mwifiex: do not emit messages while holding spinlock
authorAvinash Patil <patila@marvell.com>
Wed, 7 Jan 2015 12:40:25 +0000 (18:10 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 23 Jan 2015 17:06:23 +0000 (19:06 +0200)
Avoid printing dev_{warn/dbg} messages while holding spinlock.

Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mwifiex/11n.c
drivers/net/wireless/mwifiex/11n_rxreorder.c

index 9d4786e..c5c83cf 100644 (file)
@@ -558,10 +558,10 @@ int mwifiex_send_addba(struct mwifiex_private *priv, int tid, u8 *peer_mac)
                spin_lock_irqsave(&priv->sta_list_spinlock, flags);
                sta_ptr = mwifiex_get_sta_entry(priv, peer_mac);
                if (!sta_ptr) {
+                       spin_unlock_irqrestore(&priv->sta_list_spinlock, flags);
                        dev_warn(priv->adapter->dev,
                                 "BA setup with unknown TDLS peer %pM!\n",
                                peer_mac);
-                       spin_unlock_irqrestore(&priv->sta_list_spinlock, flags);
                        return -1;
                }
                if (sta_ptr->is_11ac_enabled)
index f33dc81..c7ca5b7 100644 (file)
@@ -353,9 +353,6 @@ mwifiex_11n_create_rx_reorder_tbl(struct mwifiex_private *priv, u8 *ta,
 
        spin_lock_irqsave(&priv->sta_list_spinlock, flags);
        if (mwifiex_queuing_ra_based(priv)) {
-               dev_dbg(priv->adapter->dev,
-                       "info: AP/ADHOC:last_seq=%d start_win=%d\n",
-                       last_seq, new_node->start_win);
                if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) {
                        node = mwifiex_get_sta_entry(priv, ta);
                        if (node)
@@ -370,6 +367,9 @@ mwifiex_11n_create_rx_reorder_tbl(struct mwifiex_private *priv, u8 *ta,
        }
        spin_unlock_irqrestore(&priv->sta_list_spinlock, flags);
 
+       dev_dbg(priv->adapter->dev, "info: last_seq=%d start_win=%d\n",
+               last_seq, new_node->start_win);
+
        if (last_seq != MWIFIEX_DEF_11N_RX_SEQ_NUM &&
            last_seq >= new_node->start_win) {
                new_node->start_win = last_seq + 1;
@@ -466,10 +466,10 @@ int mwifiex_cmd_11n_addba_rsp_gen(struct mwifiex_private *priv,
                sta_ptr = mwifiex_get_sta_entry(priv,
                                                cmd_addba_req->peer_mac_addr);
                if (!sta_ptr) {
+                       spin_unlock_irqrestore(&priv->sta_list_spinlock, flags);
                        dev_warn(priv->adapter->dev,
                                 "BA setup with unknown TDLS peer %pM!\n",
                                 cmd_addba_req->peer_mac_addr);
-                       spin_unlock_irqrestore(&priv->sta_list_spinlock, flags);
                        return -1;
                }
                if (sta_ptr->is_11ac_enabled)