wl12xx: use _ni version of ieee80211_tx_status
authorEliad Peller <eliad@wizery.com>
Tue, 7 Jun 2011 07:40:39 +0000 (10:40 +0300)
committerLuciano Coelho <coelho@ti.com>
Mon, 27 Jun 2011 10:56:14 +0000 (13:56 +0300)
wl1271_flush_deferred_work(), which calls ieee80211_rx() and
ieee80211_tx_status(), is called from a process context.
hence, use ieee80211_tx_status_ni() instead of ieee80211_tx_status().

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/ps.c
drivers/net/wireless/wl12xx/tx.c

index 8e2f560..c9f59ce 100644 (file)
@@ -870,7 +870,7 @@ static void wl1271_flush_deferred_work(struct wl1271 *wl)
 
        /* Return sent skbs to the network stack */
        while ((skb = skb_dequeue(&wl->deferred_tx_queue)))
-               ieee80211_tx_status(wl->hw, skb);
+               ieee80211_tx_status_ni(wl->hw, skb);
 }
 
 static void wl1271_netstack_work(struct work_struct *work)
index d3e377d..5116db0 100644 (file)
@@ -204,7 +204,7 @@ static void wl1271_ps_filter_frames(struct wl1271 *wl, u8 hlid)
                        info = IEEE80211_SKB_CB(skb);
                        info->flags |= IEEE80211_TX_STAT_TX_FILTERED;
                        info->status.rates[0].idx = -1;
-                       ieee80211_tx_status(wl->hw, skb);
+                       ieee80211_tx_status_ni(wl->hw, skb);
                        filtered++;
                }
        }
index 6603e60..b2635c7 100644 (file)
@@ -782,7 +782,7 @@ void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid)
                        info = IEEE80211_SKB_CB(skb);
                        info->status.rates[0].idx = -1;
                        info->status.rates[0].count = 0;
-                       ieee80211_tx_status(wl->hw, skb);
+                       ieee80211_tx_status_ni(wl->hw, skb);
                        total++;
                }
        }
@@ -820,7 +820,7 @@ void wl1271_tx_reset(struct wl1271 *wl, bool reset_tx_queues)
                                        info = IEEE80211_SKB_CB(skb);
                                        info->status.rates[0].idx = -1;
                                        info->status.rates[0].count = 0;
-                                       ieee80211_tx_status(wl->hw, skb);
+                                       ieee80211_tx_status_ni(wl->hw, skb);
                                }
                        }
                }
@@ -863,7 +863,7 @@ void wl1271_tx_reset(struct wl1271 *wl, bool reset_tx_queues)
                        info->status.rates[0].idx = -1;
                        info->status.rates[0].count = 0;
 
-                       ieee80211_tx_status(wl->hw, skb);
+                       ieee80211_tx_status_ni(wl->hw, skb);
                }
        }
 }