1. 09 7月, 2008 3 次提交
  2. 28 6月, 2008 1 次提交
    • I
      rt2x00: Fix lock dependency errror · 980dfcb9
      Ivo van Doorn 提交于
      This fixes a circular locking dependency in the workqueue handling.
      The interface work task uses the mac80211 function
      ieee80211_iterate_active_interfaces() which grabs the RTNL lock.
      
      However when the interface is brough down, this happens under the RTNL
      lock as well, this causes problems because mac80211 will flush the workqueue
      during the ifdown event. This causes mac80211 to wait until the driver has
      completed all work which can't finish because it is waiting on the RTNL lock.
      
      This is fixed by moving rt2x00 workqueue tasks on a different workqueue,
      this workqueue can be flushed when the ieee80211_hw structure is removed
      by the driver (when the driver is unloaded) which does not happen under the
      RTNL lock.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      980dfcb9
  3. 27 6月, 2008 12 次提交
  4. 25 6月, 2008 1 次提交
    • I
      rt2x00: Fix unbalanced mutex locking · 99ade259
      Ivo van Doorn 提交于
      The usb_cache_mutex was not correctly released
      under all circumstances. Both rt73usb as rt2500usb
      didn't release the mutex under certain conditions
      when the register access failed. Obviously such
      failure would lead to deadlocks.
      
      In addition under similar circumstances when the
      bbp register couldn't be read the value must be
      set to 0xff to indicate that the value is wrong.
      This too didn't happen under all circumstances.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      99ade259
  5. 15 6月, 2008 19 次提交
  6. 14 6月, 2008 4 次提交
    • I
      rt2x00: Add D-link DWA111 support · cb62eccd
      Ivo van Doorn 提交于
      Add new rt73usb USB ID for D-Link DWA111
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      cb62eccd
    • R
      rt2x00: LEDS build failure · 6847aa5c
      Randy Dunlap 提交于
      Config symbols that select LEDS_CLASS need to depend on NEW_LEDS so that
      undefined symbols are not used in the build.
      
      The alternative is to select NEW_LEDS, which some drivers do.
      
      This patch fixes the led_* symbols build errors.
      
      (.text+0x174cdc): undefined reference to `input_unregister_device'
      (.text+0x174d9f): undefined reference to `input_allocate_device'
      (.text+0x174e2d): undefined reference to `input_register_device'
      (.text+0x174e53): undefined reference to `input_free_device'
      rt2x00rfkill.c:(.text+0x176dc4): undefined reference to `input_allocate_polled_device'
      rt2x00rfkill.c:(.text+0x176e8b): undefined reference to `input_event'
      rt2x00rfkill.c:(.text+0x176e9f): undefined reference to `input_event'
      (.text+0x176eca): undefined reference to `input_unregister_polled_device'
      (.text+0x176efc): undefined reference to `input_free_polled_device'
      (.text+0x176f37): undefined reference to `input_free_polled_device'
      (.text+0x176fd8): undefined reference to `input_register_polled_device'
      (.text+0x1772c0): undefined reference to `led_classdev_resume'
      (.text+0x1772d4): undefined reference to `led_classdev_resume'
      (.text+0x1772e8): undefined reference to `led_classdev_resume'
      (.text+0x17730a): undefined reference to `led_classdev_suspend'
      (.text+0x17731e): undefined reference to `led_classdev_suspend'
      (.text+0x17732f): undefined reference to `led_classdev_suspend'
      rt2x00leds.c:(.text+0x177348): undefined reference to `led_classdev_unregister'
      rt2x00leds.c:(.text+0x1773c0): undefined reference to `led_classdev_register'
      rfkill-input.c:(.text+0x209e4c): undefined reference to `input_close_device'
      rfkill-input.c:(.text+0x209e53): undefined reference to `input_unregister_handle'
      rfkill-input.c:(.text+0x209ea1): undefined reference to `input_register_handle'
      rfkill-input.c:(.text+0x209eae): undefined reference to `input_open_device'
      rfkill-input.c:(.text+0x209ebb): undefined reference to `input_unregister_handle'
      rfkill-input.c:(.init.text+0x17405): undefined reference to `input_register_handler'
      rfkill-input.c:(.exit.text+0x194f): undefined reference to `input_unregister_handler'
      make[1]: *** [vmlinux] Error 1
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6847aa5c
    • R
      rt2x00: INPUT build failure · e76328e4
      Randy Dunlap 提交于
      Config symbols that select RFKILL need to depend on INPUT so that
      undefined symbols are not used in the build.
      
      This patch fixes the input_* symbols build errors.
      
      (.text+0x174cdc): undefined reference to `input_unregister_device'
      (.text+0x174d9f): undefined reference to `input_allocate_device'
      (.text+0x174e2d): undefined reference to `input_register_device'
      (.text+0x174e53): undefined reference to `input_free_device'
      rt2x00rfkill.c:(.text+0x176dc4): undefined reference to `input_allocate_polled_device'
      rt2x00rfkill.c:(.text+0x176e8b): undefined reference to `input_event'
      rt2x00rfkill.c:(.text+0x176e9f): undefined reference to `input_event'
      (.text+0x176eca): undefined reference to `input_unregister_polled_device'
      (.text+0x176efc): undefined reference to `input_free_polled_device'
      (.text+0x176f37): undefined reference to `input_free_polled_device'
      (.text+0x176fd8): undefined reference to `input_register_polled_device'
      (.text+0x1772c0): undefined reference to `led_classdev_resume'
      (.text+0x1772d4): undefined reference to `led_classdev_resume'
      (.text+0x1772e8): undefined reference to `led_classdev_resume'
      (.text+0x17730a): undefined reference to `led_classdev_suspend'
      (.text+0x17731e): undefined reference to `led_classdev_suspend'
      (.text+0x17732f): undefined reference to `led_classdev_suspend'
      rt2x00leds.c:(.text+0x177348): undefined reference to `led_classdev_unregister'
      rt2x00leds.c:(.text+0x1773c0): undefined reference to `led_classdev_register'
      rfkill-input.c:(.text+0x209e4c): undefined reference to `input_close_device'
      rfkill-input.c:(.text+0x209e53): undefined reference to `input_unregister_handle'
      rfkill-input.c:(.text+0x209ea1): undefined reference to `input_register_handle'
      rfkill-input.c:(.text+0x209eae): undefined reference to `input_open_device'
      rfkill-input.c:(.text+0x209ebb): undefined reference to `input_unregister_handle'
      rfkill-input.c:(.init.text+0x17405): undefined reference to `input_register_handler'
      rfkill-input.c:(.exit.text+0x194f): undefined reference to `input_unregister_handler'
      make[1]: *** [vmlinux] Error 1
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e76328e4
    • G
      rt2x00: Restrict DMA to 32-bit addresses. · 051c256f
      Gertjan van Wingerde 提交于
      None of the rt2x00 PCI devices support 64-bit DMA addresses (they all
      only accept 32-bit buffer addresses). Hence it makes no sense to try to
      enable 64-bit DMA addresses. Only try to enable 32-bit DMA addresses.
      Signed-off-by: NGertjan van Wingerde <gwingerde@kpnplanet.nl>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      051c256f