Browse Source

mac80211: add comment for rx_path_lock

Add a comment explaining how the RX path lock is used.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg 10 years ago
parent
commit
45ceeee81e
1 changed files with 6 additions and 0 deletions
  1. 6 0
      net/mac80211/rx.c

+ 6 - 0
net/mac80211/rx.c

@@ -3123,6 +3123,12 @@ static void ieee80211_rx_handlers(struct ieee80211_rx_data *rx,
 			goto rxh_next;  \
 			goto rxh_next;  \
 	} while (0);
 	} while (0);
 
 
+	/* Lock here to avoid hitting all of the data used in the RX
+	 * path (e.g. key data, station data, ...) concurrently when
+	 * a frame is released from the reorder buffer due to timeout
+	 * from the timer, potentially concurrently with RX from the
+	 * driver.
+	 */
 	spin_lock_bh(&rx->local->rx_path_lock);
 	spin_lock_bh(&rx->local->rx_path_lock);
 
 
 	while ((skb = __skb_dequeue(frames))) {
 	while ((skb = __skb_dequeue(frames))) {