Skip to content
Snippets Groups Projects
  1. Apr 19, 2011
    • Ivo van Doorn's avatar
      rt2x00: Split rt2x00dev->flags · 7dab73b3
      Ivo van Doorn authored
      
      The number of flags defined for the rt2x00dev->flags field,
      has been growing over the years. Currently we are approaching
      the maximum number of bits which are available in the field.
      
      A secondary problem, is that one part of the field are initialized only
      during boot, because the driver requirements are initialized or device
      requirements are loaded from the EEPROM. In both cases, the flags are
      fixed and will not change during device operation. The other flags are
      the device state, and will change frequently. So far this resulted in the fact
      that for some flags, the atomic bit accessors are used, while for the others
      the non-atomic variants are used.
      
      By splitting the flags up into a "flags" and "cap_flags" we can put all flags
      which are fixed inside "cap_flags". This field can then be read non-atomically.
      In the "flags" field we keep the device state, which is going to be read atomically.
      
      This adds more room for more flags in the future, and sanitizes the field access methods.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Acked-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7dab73b3
  2. Aug 16, 2010
  3. May 10, 2010
  4. Nov 11, 2009
  5. 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
  6. Jul 24, 2009
  7. Jul 10, 2009
  8. May 22, 2009
  9. May 06, 2009
  10. Jan 29, 2009
  11. Jan 06, 2009
  12. Dec 05, 2008
  13. Oct 06, 2008
  14. 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
Loading