[rt2x00-users] [RFT] rt2x00: Tear down BA session on QoS frame failure

Andreas Hartmann andihartmann at 01019freenet.de
Thu Apr 19 22:54:22 EST 2012


Helmut Schaa schrieb:
> On Thu, Apr 19, 2012 at 2:10 PM, Andreas Hartmann
> <andihartmann at 01019freenet.de> wrote:
>> The crash didn't disappear :-(. But I have to say, that the machine does
>> not crash with this small patch, as long as ieee80211_stop_tx_ba_session
>> isn't called by rt2x00lib_txdone().
> 
> Yeah, understood. I'm still not sure why it's crashing at that point ...

I tried to put your small patch to rt2x00dev.c before the call to
ieee80211_stop_tx_ba_session().

                if (sta && !success &&
                    ieee80211_is_data_qos(hdr->frame_control)) {
                        /*
                         * Tear down BA session 
                         */
                        u8 *qc = ieee80211_get_qos_ctl(hdr);
                        int tid = *qc & IEEE80211_QOS_CTL_TID_MASK;

                        struct tid_ampdu_tx *tid_tx;
                        tid_tx = sta->ampdu_mlme.tid_tx[tid];

                        // ieee80211_stop_tx_ba_session(sta, tid);
                }

But I'm getting a compile error:

rt2x00dev.c: In function ‘rt2x00lib_txdone’:
rt2x00dev.c:408:16: error: ‘struct ieee80211_sta’ has no member named ‘ampdu_mlme’


Why?


Thanks,
Andreas



More information about the users mailing list