On Wednesday 09 July 2008, Johannes Berg wrote: > On Wed, 2008-07-09 at 17:48 +0200, Ivo van Doorn wrote: > > On Wednesday 09 July 2008, Johannes Berg wrote: > > > On Wed, 2008-07-09 at 17:36 +0200, Ivo van Doorn wrote: > > > > > > > True, I have to double check it, but the legacy drivers use per-queue locking as well. > > > > And it would still be possible for the driver to send out frames with a higher > > > > sequence number before one with a lower number. > > > > > > The legacy drivers hopefully also implement proper sequence numbering > > > per TID. I'll send another mail on the topic. > > > > Heh, I seriously doubt that. As far as I know it is working using a single > > counter in the main interface structure. Just the same way it currently > > works in mac80211 (which isn't surprising, since I based the mac80211 patch > > on the legacy driver implementation). > > Ok so the thing is this: 802.11-2007 7.1.3.4.1 requires that we keep > sequence counters per TID (and one for "not QoS"), which we only assign > rather late in the wme code. Because even b43 hardware only keeps track > of a single sequence counter, it requires not using that counter for QoS > frames. I suspect no driver except the overly smart iwlwifi gets this > right. > > Do you have flags to turn off hwseq support for the other ralink > devices? rt2500usb: Not per-frame, it can only be disabled globally rt61pci: Both per-frame as well as globally rt73usb: Both per-frame as well as globally rt2800pci: Not per-frame, not sure about globally rt2800usb: Not per-frame, not sure about globally Note that I don't know if these devices handle the TID and the not QOS sequence counting in the hardware. I'll have to consult the specsheets for that. Ivo -- 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