Skip to content
Snippets Groups Projects
  1. Aug 14, 2009
  2. Jul 27, 2009
  3. Jul 24, 2009
  4. Jun 03, 2009
  5. May 22, 2009
  6. May 06, 2009
  7. Jan 29, 2009
  8. Dec 05, 2008
  9. Nov 21, 2008
    • Ivo van Doorn's avatar
      rt2x00: Optimize get_duration / get_duration_res · bad13639
      Ivo van Doorn authored
      
      We can optimize get_duration and get_duration_res
      by making them a macro. They are really simple
      calculation handlers so this doesn't matter much.
      
      Often (especially in rt2400pci and rt2500pci,
      the arguments are hardcoded, and the result value
      is passed into other hardcoded values.
      
      By making the functions a macro GCC can
      optimize the entire thing much better.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bad13639
    • 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
  10. 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
  11. Oct 31, 2008
  12. Sep 15, 2008
  13. Aug 29, 2008
    • Ivo van Doorn's avatar
      rt2x00: Fix race conditions in flag handling · 0262ab0d
      Ivo van Doorn authored
      
      Some of the flags should be accessed atomically to
      prevent race conditions. The flags that are most important
      are those that can change often and indicate the actual
      state of the device, queue or queue entry.
      
      The big flag rename was done to move all state flags to
      the same naming type as the other rt2x00dev flags and
      made sure all places where the flags were used were changed. ;)
      
      Thanks to Stephen for most of the queue flags updates,
      which fixes some of the most obvious consequences of the
      race conditions. Among those the notorious:
      
      rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
      rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
      rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
      
      Signed-off-by: default avatarStephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0262ab0d
  14. Aug 22, 2008
  15. Aug 01, 2008
  16. Jul 29, 2008
  17. Jul 14, 2008
  18. May 28, 2008
  19. Mar 25, 2008
    • Ivo van Doorn's avatar
      rt2x00: Fix in_atomic() usage · 3a643d24
      Ivo van Doorn authored
      
      rt73usb and rt2500usb used in_atomic to determine
      if a configuration step should be rescheduled or not.
      Since in_atomic() is not a valid method to determine
      if sleeping is allowed we should fix the way this is handled
      by adding a new flag to rt2x00.
      
      In addition mark LED class support for the drivers broken
      since that also uses the broken in_atomic() method but
      so far no solution exists to have LED triggers work only
      in scheduled context.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3a643d24
  20. Mar 13, 2008
  21. Feb 29, 2008
    • Ivo van Doorn's avatar
      rt2x00: Remove HWMODE_{A,B,G} · f5507ce9
      Ivo van Doorn authored
      
      rt2500usb initialized the SIFS and EIFS without using the
      values coming from rt2x000lib. After this is fixed HWMODE_{A,B,G}
      is now unused and can be removed in favour of the ieee80211_band
      enumeration which could still be usefull later.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f5507ce9
    • Ivo van Doorn's avatar
      rt2x00: Rate structure overhaul · 70e2fed4
      Ivo van Doorn authored
      
      Recent changes to the rate structure registration broke rt2x00,
      the hw_value was reduced from 32bits to 16bits while rt2x00 used
      the full 32bits. However the way rt2x00 used the value was inflexible
      and needed to be changed anyway.
      
      This patch creates a array containing information for each rate,
      the hw_value passed to mac80211 is the index value for that array
      including a field to indicate if short preamble should be enabled.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      70e2fed4
    • Johannes Berg's avatar
      cfg80211 API for channels/bitrates, mac80211 and driver conversion · 8318d78a
      Johannes Berg authored
      
      This patch creates new cfg80211 wiphy API for channel and bitrate
      registration and converts mac80211 and drivers to the new API. The
      old mac80211 API is completely ripped out. All drivers (except ath5k)
      are updated to the new API, in many cases I expect that optimisations
      can be done.
      
      Along with the regulatory code I've also ripped out the
      IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED flag, I believe it to be
      unnecessary if the hardware simply gives us whatever channels it wants
      to support and we then enable/disable them as required, which is pretty
      much required for travelling.
      
      Additionally, the patch adds proper "basic" rate handling for STA
      mode interface, AP mode interface will have to have new API added
      to allow userspace to set the basic rate set, currently it'll be
      empty... However, the basic rate handling will need to be moved to
      the BSS conf stuff.
      
      I do expect there to be bugs in this, especially wrt. transmit
      power handling where I'm basically clueless about how it should work.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8318d78a
    • Ivo van Doorn's avatar
      rt2x00: Add per-interface structure · 6bb40dd1
      Ivo van Doorn authored
      
      Rework the interface handling. Delete the interface structure
      and replace it with a per-interface structure. This changes the
      way rt2x00 handles the active interface drastically.
      
      Copy ieee80211_bss_conf to the this rt2x00_intf structure during
      the bss_info_changed() callback function. This will allow us to
      reference it later, and removes the requirement for the device flag
      SHORT_PREAMBLE flag which is interface specific.
      
      Drivers receive the option to give the maximum number of virtual
      interfaces the device can handle. Virtual interface support:
      rt2400pci: 1 sta or 1 ap, * monitor interfaces
      rt2500pci: 1 sta or 1 ap, * monitor interfaces
      rt2500usb: 1 sta or 1 ap, * monitor interfaces
      rt61pci: 1 sta or 4 ap, * monitor interfaces
      rt73usb: 1 sta or 4 ap, * monitor interfaces
      
      At the moment none of the drivers support AP and STA interfaces
      simultaneously, this is a hardware limitation so future support
      will be very unlikely.
      
      Each interface structure receives its dedicated beacon entry,
      with this we can easily work with beaconing while multiple master
      mode interfaces are currently active.
      
      The configuration handlers for the MAC, BSSID and type are
      often called together since they all belong to the interface
      configuration. Merge the 3 configuration calls and cleanup
      the API between rt2x00lib and the drivers. While we are cleaning
      up the interface configuration anyway, we might as well clean up
      the configuration handler as well.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6bb40dd1
    • Ivo van Doorn's avatar
      rt2x00: Update copyright notice · 811aa9ca
      Ivo van Doorn authored
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      811aa9ca
  22. Feb 28, 2008
  23. Jan 28, 2008
  24. Oct 10, 2007
    • Ivo van Doorn's avatar
      [PATCH] rt2x00: Reorganize configuration handler · 5c58ee51
      Ivo van Doorn authored
      
      Reorganize configuration handling by creating a extra
      structure which contains precalculated values based
      on the mac80211 values which are usefull for all
      individual drivers.
      
      This also fixes the preamble configuration problem,
      up untill now preamble was never configured since
      by default the rate->val value was used when changing
      the mode.
      Now rate->val will only be used to set the basic rate mask.
      The preamble configuration will now be done correctly
      through the erp_ie_changed callback function.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5c58ee51
Loading