Bob Copeland wrote: > On Sun, Mar 15, 2009 at 2:02 PM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: > > On Sun, 2009-03-15 at 12:13 +0530, Sujith wrote: > >> When the driver has been notified with a STA_REMOVE, it tears down > >> the internal ADDBA state. On resume, trying to initiate aggregation would > >> fail because mac80211 has not cleared the operational state for that <TID,STA>. > >> This can be fixed by tearing down the existing sessions on a suspend. > > > > Agreed, but Bob said there were some deadlocks with this? > > I think the deadlock went away, not sure what fixed it but I guess > the HT rework. I tested it a couple of weeks ago on ath5k and Luis > did on ath9k so I say let's go ahead and apply the patch... in the > meantime I'll try again on ath5k just to be sure. There is a window for a race. Something like this: >From mac80211: __ieee80211_suspend() tear_down_BA_sessions(TX, RX) ampdu_action(STOP) remove_vifs() At this point, the driver executes its remove_interface routine. While we are doing this, a TX completion interrupt could be raised, (HW hasn't been stopped yet) and nothing stops the driver from calling ieee80211_start_tx_ba_session(). So the question is: should mac80211 deny ADDBA requests in this case ? Sujith -- 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