1. 25 7月, 2009 1 次提交
  2. 11 6月, 2009 1 次提交
    • J
      mac80211: do not pass PS frames out of mac80211 again · 8f77f384
      Johannes Berg 提交于
      In order to handle powersave frames properly we had needed
      to pass these out to the device queues again, and introduce
      the skb->requeue bit. This, however, also has unnecessary
      overhead by needing to 'clean up' already tried frames, and
      this clean-up code is also buggy when software encryption
      is used.
      
      Instead of sending the frames via the master netdev queue
      again, simply put them into the pending queue. This also
      fixes a problem where frames for that particular station
      could be reordered when some were still on the software
      queues and older ones are re-injected into the software
      queue after them.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8f77f384
  3. 23 5月, 2009 1 次提交
  4. 14 5月, 2009 1 次提交
  5. 17 3月, 2009 1 次提交
    • J
      mac80211: Fix WMM ACM parsing and AC downgrade operation · 0eeb59fe
      Jouni Malinen 提交于
      Incorrect local->wmm_acm bits were set for AC_BK and AC_BE. Fix this
      and add some comments to make it easier to understand the AC-to-UP(pair)
      mapping. Set the wmm_acm bits (and show WMM debug) even if the driver
      does not implement conf_tx() handler.
      
      In addition, fix the ACM-based AC downgrade code to not use the
      highest priority in error cases. We need to break the loop to get the
      correct AC_BK value (3) instead of returning 0 (which would indicate
      AC_VO). The comment here was not really very useful either, so let's
      provide somewhat more helpful description of the situation.
      
      Since it is very unlikely that the ACM flag would be set for AC_BK and
      AC_BE, these bugs are not likely to be seen in real life networks.
      Anyway, better do these things correctly should someone really use
      silly AP configuration (and to pass some functionality tests, too).
      
      Remove the TODO comment about handling ACM. Downgrading AC is
      perfectly valid mechanism for ACM. Eventually, we may add support for
      WMM-AC and send a request for a TS, but anyway, that functionality
      won't be here at the location of this TODO comment.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0eeb59fe
  6. 28 2月, 2009 1 次提交
    • J
      mac80211: fix aggregation for hardware with ampdu queues · 96f5e66e
      Johannes Berg 提交于
      Hardware with AMPDU queues currently has broken aggregation.
      
      This patch fixes it by making all A-MPDUs go over the regular AC queues,
      but keeping track of the hardware queues in mac80211. As a first rough
      version, it actually stops the AC queue for extended periods of time,
      which can be removed by adding buffering internal to mac80211, but is
      currently not a huge problem because people rarely use multiple TIDs
      that are in the same AC (and iwlwifi currently doesn't operate as AP).
      
      This is a short-term fix, my current medium-term plan, which I hope to
      execute soon as well, but am not sure can finish before .30, looks like
      this:
       1) rework the internal queuing layer in mac80211 that we use for
          fragments if the driver stopped queue in the middle of a fragmented
          frame to be able to queue more frames at once (rather than just a
          single frame with its fragments)
       2) instead of stopping the entire AC queue, queue up the frames in a
          per-station/per-TID queue during aggregation session initiation,
          when the session has come up take all those frames and put them
          onto the queue from 1)
       3) push the ampdu queue layer abstraction this patch introduces in
          mac80211 into the driver, and remove the virtual queue stuff from
          mac80211 again
      
      This plan will probably also affect ath9k in that mac80211 queues the
      frames instead of passing them down, even when there are no ampdu queues.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      96f5e66e
  7. 01 11月, 2008 1 次提交
  8. 28 10月, 2008 1 次提交
  9. 01 10月, 2008 1 次提交
  10. 21 9月, 2008 1 次提交
  11. 16 9月, 2008 1 次提交
  12. 30 8月, 2008 1 次提交
  13. 03 8月, 2008 1 次提交
  14. 30 7月, 2008 1 次提交
  15. 20 7月, 2008 1 次提交
  16. 18 7月, 2008 3 次提交
  17. 09 7月, 2008 5 次提交
  18. 08 7月, 2008 1 次提交
  19. 03 7月, 2008 1 次提交
  20. 02 7月, 2008 1 次提交
  21. 15 6月, 2008 1 次提交
  22. 14 6月, 2008 1 次提交
  23. 22 5月, 2008 2 次提交
  24. 13 5月, 2008 1 次提交
  25. 08 5月, 2008 3 次提交
    • J
      mac80211: fix wme code · 5c5e1289
      Johannes Berg 提交于
      In commit e100bb64 (mac80211:
      QoS related cleanups) I accidentally changed a variable from
      int to u16 causing a warning that a comparison for < 0 was always
      false. John thought this was a missing deletion of code and removed
      the warning by deleting the never executed branch of code in commit
      3df5ee60 (wireless: fix warning
      introduced by "mac80211: QoS related cleanups") but the problem really
      was my mistake of using a u16 variable for the queue variable when
      that variable can also contain an error code. This patch restores
      the original code and variable type.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5c5e1289
    • J
      wireless: fix warning introduced by "mac80211: QoS related cleanups" · 3df5ee60
      John W. Linville 提交于
      net/mac80211/wme.c: In function ‘wme_qdiscop_enqueue’:
      net/mac80211/wme.c:219: warning: comparison is always false due to limited range of data type
      
      drivers/net/wireless/p54/p54common.c: In function ‘p54_conf_tx’:
      drivers/net/wireless/p54/p54common.c:947: warning: comparison is always false due to limited range of data type
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3df5ee60
    • J
      mac80211: QoS related cleanups · e100bb64
      Johannes Berg 提交于
      This
       * makes the queue number passed to drivers a u16
         (as it will be with skb_get_queue_mapping)
       * removes the useless queue number defines
       * splits hw->queues into hw->queues/ampdu_queues
       * removes the debugfs files for per-queue counters
       * removes some dead QoS code
       * removes the beacon queue configuration for IBSS
         so that the drivers now never get a queue number
         bigger than (hw->queues + hw->ampdu_queues - 1)
         for tx and only in the range 0..hw->queues-1 for
         conf_tx.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e100bb64
  26. 24 4月, 2008 1 次提交
  27. 07 3月, 2008 1 次提交
  28. 01 3月, 2008 2 次提交
  29. 29 1月, 2008 2 次提交