Skip to content
Snippets Groups Projects
  1. Nov 19, 2009
    • Johannes Berg's avatar
      mac80211: request TX status where needed · 7351c6bd
      Johannes Berg authored
      
      Right now all frames mac80211 hands to the driver
      have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set to
      request TX status. This isn't really necessary, only
      the injected frames need TX status (the latter for
      hostapd) so move setting this flag.
      
      The rate control algorithms also need TX status, but
      they don't require it.
      
      Also, rt2x00 uses that bit for its own purposes and
      seems to require it being set for all frames, but
      that can be fixed in rt2x00.
      
      This doesn't really change anything for any drivers
      but in the future drivers using hw-rate control may
      opt to not report TX status for frames that don't
      have the IEEE80211_TX_CTL_REQ_TX_STATUS flag set.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Acked-by: Ivo van Doorn <IvDoorn@gmail.com> [rt2x00 bits]
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7351c6bd
  2. Nov 11, 2009
  3. Sep 23, 2009
  4. Aug 31, 2009
    • Ivo van Doorn's avatar
      rt2x00: Reorganize padding & L2 padding · daee6c09
      Ivo van Doorn authored
      
      The old function rt2x00queue_payload_align() handled
      both adding and removing L2 padding and some basic
      frame alignment. The entire function was being abused
      because it had multiple functions and the header length
      argument was somtimes used to align the header instead
      of the payload.
      
      Additionally there was a bug when inserting L2 padding
      that only the payload was aligned but not the header. This
      happens when the header wasn't aligned properly by mac80211,
      but rt2x00lib only moves the payload.
      
      A secondary problem was that when removing L2 padding during
      TXdone or RX the skb wasn't resized to the proper size.
      
      Split the function into seperate functions each handling
      its task as it should.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      daee6c09
  5. Jul 27, 2009
  6. Jul 10, 2009
  7. Jun 12, 2009
  8. May 06, 2009
  9. Feb 09, 2009
  10. Jan 29, 2009
  11. Jan 12, 2009
  12. Dec 05, 2008
  13. Nov 21, 2008
    • Ivo van Doorn's avatar
      rt2x00: Cleanup TX/RX entry handling · 798b7adb
      Ivo van Doorn authored
      
      Merge the callback functions init_txentry() and
      init_rxentry(). This makes life in rt2x00lib a
      lot simpler and we can cleanup several functions.
      
      rt2x00pci contained "fake" FIELD definitions for
      descriptor words. This is not flexible since it
      assumes the driver will always have the same field
      to indicate if a driver is available or not.
      This should be dependent on the driver, and we
      should add a callback function for this.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      798b7adb
    • Ivo van Doorn's avatar
      rt2x00: Fix BUG_ON() with antenna handling · 6d64360a
      Ivo van Doorn authored
      
      With the new configuration handling, and more specifically
      splitting the configuration of the antenna from the normal
      configuration steps allowed a BUG_ON() to be triggered
      in the driver because the SW_DIVERSITY was send to the
      driver. This fixes that by catching the value early in
      rt2x00config.c and replacing it with a sensible value.
      
      This also fixes a problem where the antenna is not being
      initialized at all when the radio is enabled. Since it
      no longer is part of the mac80211 configuration the
      only place where rt2x00 configured it was the SW diversity
      handler. Obviously this is broken for all non-diversity
      hardware and breaks SW diversity due to a broken initialization.
      
      When the radio is enabled the antenna will be configured
      once as soon as the config() callback function is called.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6d64360a
    • Ivo van Doorn's avatar
      rt2x00: Remove RATE_BASIC flag · 3d8606a6
      Ivo van Doorn authored
      
      mac80211 is in charge of determining the basic rates,
      so we are not using the RATE_BASIC flag anymore.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3d8606a6
  14. Nov 10, 2008
    • Ivo van Doorn's avatar
      rt2x00: Optimize configuration handling · e4ea1c40
      Ivo van Doorn authored
      
      Implement latest changed from mac80211 configuration
      handling to optmize configuration handling in rt2x00.
      
       * Remove set_retry_limit callback function, handled
         through config()
       * Move config_antenna to its own callback function,
         it isn't handled by mac80211 anymore
       * Use IEEE80211_CONF_CHANGED_* flags and remove manual
         checks
       * Removed deprecated short slot setting through config()
         and put it in config_erp() through which mac80211 now
         configures it
       * Remove config_phymode() and move contents to config_erp()
         since it only managed the basic rates which is now
         determined by mac80211 through config_erp().
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e4ea1c40
  15. Sep 15, 2008
  16. Aug 22, 2008
    • Ivo van Doorn's avatar
      rt2x00: Implement HW encryption · 2bb057d0
      Ivo van Doorn authored
      
      Various rt2x00 devices support hardware encryption.
      
      Most of them require the IV/EIV to be generated by mac80211,
      but require it to be provided seperately instead of within
      the frame itself. This means that rt2x00lib should extract
      the data from the frame and place it in the frame descriptor.
      During RX the IV/EIV is provided in the descriptor by the
      hardware which means that it should be inserted into the
      frame by rt2x00lib.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2bb057d0
  17. Jul 29, 2008
  18. Jul 14, 2008
  19. Jul 08, 2008
  20. Jun 26, 2008
  21. Jun 14, 2008
  22. May 21, 2008
    • Ivo van Doorn's avatar
      rt2x00: trim skb_frame_desc to 32 bytes · 5a6e5999
      Ivo van Doorn authored
      
      Remove frame_type from skb_frame_desc and pass it
      as argument to rt2x00debug_dump_frame().
      
      Change data_len and desc_len to unsigned short
      to save another 4 bytes in skb_frame_desc. Note that
      this was the only location where the data_len and
      desc_len was not yet treated as unsigned short.
      
      This trim is required to help mac80211 with adding
      the TX control and TX status informtation into the
      skb->cb structure. When that happens, drivers will
      have approximately 40 bytes left to use freely.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5a6e5999
  23. May 01, 2008
  24. Apr 01, 2008
  25. Mar 13, 2008
  26. Feb 29, 2008
Loading