Linux wireless drivers development
 help / color / mirror / Atom feed
* iwlwifi workaround for mac80211 sequence number bug
@ 2008-07-09 22:11 Johannes Berg
  2008-07-09 22:17 ` Tomas Winkler
  0 siblings, 1 reply; 4+ messages in thread
From: Johannes Berg @ 2008-07-09 22:11 UTC (permalink / raw)
  To: tomasw; +Cc: linux-wireless, Ron Rindjunksi

[-- Attachment #1: Type: text/plain, Size: 1585 bytes --]

Ok, so I'm frustrated. I spent a few hours today chasing docs, trying to
understand sequence numbering from the specs, how we implement it in
mac80211 for TX and RX, how hardware/firmware implements it. Finally, I
figure out that mac80211 is buggy, and come up with a buggy (now I know)
patch.

Then, now, I find out that iwlwifi contains a workaround for the
mac80211 sequence numbering, so you've known all along!

Why don't you tell anyone about the problems you find? It can't be that
hard. Are there any other lurking issues like that?

Here's the code from iwlwifi:

        if (ieee80211_is_data_qos(fc)) {
                qc = ieee80211_get_qos_ctl(hdr);
                tid = qc[0] & 0xf;
                seq_number = priv->stations[sta_id].tid[tid].seq_number &
                                IEEE80211_SCTL_SEQ;
                hdr->seq_ctrl = cpu_to_le16(seq_number) |
                        (hdr->seq_ctrl &
                                __constant_cpu_to_le16(IEEE80211_SCTL_FRAG));
                seq_number += 0x10;
                /* aggregation is on for this <sta,tid> */
                if (info->flags & IEEE80211_TX_CTL_AMPDU)
                        txq_id = priv->stations[sta_id].tid[tid].agg.txq_id;
                priv->stations[sta_id].tid[tid].tfds_in_queue++;
        }

We can implement that trivially in mac80211 and make it do the right
thing for all drivers instead of having iwlwifi work around the bug in
mac80211.

Additionally, we can then remove the ssn argument to the ampdu_action
callback.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-07-09 22:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-09 22:11 iwlwifi workaround for mac80211 sequence number bug Johannes Berg
2008-07-09 22:17 ` Tomas Winkler
2008-07-09 22:24   ` Johannes Berg
2008-07-09 22:45     ` Tomas Winkler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox