1. 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
  2. 14 6月, 2008 5 次提交
    • 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
    • I
      rt2x00: Don't kill guardian_urb when it wasn't created · edfa78b2
      Ivo van Doorn 提交于
      This fixes a "BUG: unable to handle kernel paging request"
      bug in rt73usb which was caused by killing the guardian_urb
      while it had never been allocated for rt73usb.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      edfa78b2
  3. 29 5月, 2008 4 次提交
  4. 13 5月, 2008 3 次提交
  5. 02 5月, 2008 2 次提交
  6. 23 4月, 2008 1 次提交
  7. 17 4月, 2008 1 次提交
  8. 10 4月, 2008 1 次提交
  9. 09 4月, 2008 1 次提交
  10. 02 4月, 2008 4 次提交
  11. 28 3月, 2008 1 次提交
    • I
      rt2x00: Ignore set_state(STATE_SLEEP) failure · 9896322a
      Ivo van Doorn 提交于
      Some hardware never seem to accept the "goto sleep" command, since the legacy
      drivers don't have suspend and resume handlers the entire code for it was
      basically a educated guess (based on the "enable radio" code).
      This patch will only print a warning when the "goto sleep" command fails, and
      just continues as usual. Perhaps that means the device will not reach a sleep
      state and consumes more power then it should, but it is equally possible it
      simply needs some seconds longer to sleep. Anyway, by making the command
      non-fatal it will not block the rest of the suspend procedure.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9896322a
  12. 26 3月, 2008 3 次提交
    • I
      rt2x00: Fix in_atomic() usage · 3a643d24
      Ivo van Doorn 提交于
      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: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3a643d24
    • I
      rt2x00: Fix rate detection for invalid signals · 866a0503
      Ivo van Doorn 提交于
      It has been observed on rt2500pci hardware that some
      frames received with signal 0x0C do not have the OFDM
      flag set.
      
      Signals can have 2 meanings:
       1) The PLCP value
       2) The bitrate * 10
      
      For rt2500pci (1) is for frames received with a OFDM rate,
      and (2) is for frames received with a CCK rate.
      But 0x0C is a invalid bitrate value but is a valid PLCP
      value for 54Mbs (obvious OFDM rate).
      This means that it is possible that the hardware does not
      set the OFDM bit correctly under all circumstances.
      This results in rt2x00 failing to detect the rate and
      mac80211 triggering a WARN_ON() and dropping the frame.
      
      To bypass this, print a warning when such a frame is received,
      and reset the rate to the lowest supported rate for the current band.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      866a0503
    • I
      rt2x00: Add dev_flags to rx descriptor · 19d30e02
      Ivo van Doorn 提交于
      The rxdone_entry_desc structure contains 3 fields
      which are always 1 or 0. We can safe 8 bytes by
      replacing them with a single dev_flags fields which
      contain the flags for those settings.
      
      Additionally we can remove the OFDM flag since it
      is no longer used since the introduction of the
      SIGNAL_PLCP flag.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      19d30e02
  13. 25 3月, 2008 1 次提交
  14. 19 3月, 2008 1 次提交
  15. 14 3月, 2008 11 次提交