Hi, > > >> + del_timer_sync(&tid_tx->addba_resp_timer); >> + >> + /* >> + * Test that we are not stopping agg session now. >> + * Since addba_resp_timer may have just finished we need to >> + * check HT_AGG_STATE_STOPPING too. >> + */ >> + if (test_bit(HT_AGG_STATE_WANT_STOP, &tid_tx->state) >> + || test_bit(HT_AGG_STATE_STOPPING, &tid_tx->state)) { >> +#ifdef CONFIG_MAC80211_HT_DEBUG >> + printk(KERN_DEBUG "got addBA resp for tid %d but we are not " >> + "(or no longer) expecting expecting it\n", >> + tid); >> +#endif >> + goto out; >> + } >> + >> if (mgmt->u.action.u.addba_resp.dialog_token != tid_tx->dialog_token) { >> #ifdef CONFIG_MAC80211_HT_DEBUG >> printk(KERN_DEBUG "wrong addBA response token, tid %d\n", tid); > > You can't do this -- if this happens and the dialog token is bad the > session will linger forever since the timer is now dead. I'm not sure I understand what you mean by this and how my patch affects dialog_token. I'd appreciate if you could explain this in some detail. > > Also please move the bool operators to the end of the line rather than > the start: > if (test_bit(...) || > test_bit(...)) { > > Other than that the patch looks fine. I saw you have posted couple of newer versions of this. Shall I still make this change and repost? Thanks! -- Truthfully yours, Martynov Nikolay. Email: mar.kolya@xxxxxxxxx -- 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