On Wed, Dec 07, 2011 at 11:07:13PM -0800, Emmanuel Grumbach wrote: > > > > When a station leaves suddenly while ampdu traffic to that station is still > > running, there is a possibility that the ampdu pending queues are not freed due > > to a race condition leading to memory leaks. In '__sta_info_destroy' when we > > attempt to destroy the ampdu sessions in 'ieee80211_sta_tear_down_BA_sessions', > > the driver calls 'ieee80211_stop_tx_ba_cb_irqsafe' to delete the ampdu > > structures (tid_tx) and splice the pending queues and this job gets queued in > > sdata workqueue. However, the sta entry can get destroyed before the above work > > gets scheduled and hence the race. > > > > Purging the queues and freeing the tid_tx to avoid the leak. The better solution > > would be to fix the race, but that can be taken up in a separate patch. > > > > Did you actually run into that race, or you can see the bug from code > inspection ? We did see this while running stress tests. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html