1. 20 8月, 2009 3 次提交
  2. 14 8月, 2009 3 次提交
  3. 05 8月, 2009 2 次提交
    • L
      mac80211: redefine usage of the mac80211 workqueue · 42935eca
      Luis R. Rodriguez 提交于
      The mac80211 workqueue exists to enable mac80211 and drivers
      to queue their own work on a single threaded workqueue. mac80211
      takes care to flush the workqueue during suspend but we never
      really had requirements on drivers for how they should use
      the workqueue in consideration for suspend.
      
      We extend mac80211 to document how the mac80211 workqueue should
      be used, how it should not be used and finally move raw access to
      the workqueue to mac80211 only. Drivers and mac80211 use helpers
      to queue work onto the mac80211 workqueue:
      
        * ieee80211_queue_work()
        * ieee80211_queue_delayed_work()
      
      These helpers will now warn if mac80211 already completed its
      suspend cycle and someone is trying to queue work. mac80211
      flushes the mac80211 workqueue prior to suspend a few times,
      but we haven't taken the care to ensure drivers won't add more
      work after suspend. To help with this we add a warning when
      someone tries to add work and mac80211 already completed the
      suspend cycle.
      
      Drivers should ensure they cancel any work or delayed work
      in the mac80211 stop() callback.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      42935eca
    • I
      rt2x00: Fix build error when crypto support is disabled · ad2f34b4
      Ivo van Doorn 提交于
      When only rt2400pci or rt2500pci is compiled without any of the other
      rt2x00 modules, then CONFIG_RT2X00_LIB_CRYPTO will not be enabled.
      
      However rt2x00mac_set_tim() implemented within #ifdef CONFIG_RT2X00_LIB_CRYPTO
      statements while the declaration is placed outside the definition. This results in linking
      errors as reporte by Ken.
      
      rt2x00_set_tim() has nothing to do with crypto, and thus should be moved outside
      of the #ifdef statements.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ad2f34b4
  4. 28 7月, 2009 1 次提交
  5. 25 7月, 2009 2 次提交
  6. 11 7月, 2009 2 次提交
  7. 07 5月, 2009 1 次提交
  8. 10 2月, 2009 1 次提交
  9. 30 1月, 2009 5 次提交
  10. 05 12月, 2008 3 次提交
  11. 26 11月, 2008 1 次提交
    • I
      rt2x00: Fix TX failure path · 0e3de998
      Ivo van Doorn 提交于
      The callback function write_tx_data() can only fail
      when our ENTRY_OWNER_DEVICE_DATA flag on a queue entry
      failed to determine the entry was not available and
      it is in fact still owned by the hardware.
      This means that if that function fails the queue
      must be stopped in mac80211.
      
      When rt2x00queue_get_queue() returns NULL in the TX
      path, it means mac80211 has passed us an invalid queue,
      although this should be impossible, it shouldn't hurt
      if we send mac80211 a signal to stop the queue either.
      
      Both issues can simply be resolved by removing their
      manual failure handler and making them use the failure path
      provided in rt2x00mac_tx().
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0e3de998
  12. 22 11月, 2008 2 次提交
    • I
      rt2x00: Fix BUG_ON() with antenna handling · 6d64360a
      Ivo van Doorn 提交于
      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: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6d64360a
    • I
      rt2x00: Block set_key() during suspend/shutdown · 8058409c
      Ivo van Doorn 提交于
      mac80211 will call set_key() when the device is
      shutting down. When the device is unplugged the
      keys will be lost automatically due to the power
      loss. When the device is not plugged but the module
      is only unloaded the keys can remain in the device
      hardware, when the module is loaded the keys will
      be cleaned up during initialization.
      
      This should prevent the problem reported by Johannes Berg,
      where unplugging the device while suspended resulted in
      a NULL pointer error during set_key() which was
      caused because of the CSR base address being freed.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8058409c
  13. 11 11月, 2008 2 次提交
  14. 01 11月, 2008 3 次提交
  15. 25 9月, 2008 1 次提交
  16. 16 9月, 2008 1 次提交
  17. 30 8月, 2008 3 次提交
  18. 23 8月, 2008 2 次提交
  19. 07 8月, 2008 1 次提交
  20. 02 8月, 2008 1 次提交