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

Helmut Schaa helmut.schaa at googlemail.com
Thu Apr 19 23:03:08 EST 2012


On Thu, Apr 19, 2012 at 2:54 PM, Andreas Hartmann
<andihartmann at 01019freenet.de> wrote:
> 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?

Hehe, the patch was meant for mac80211 :D

Helmut



More information about the users mailing list