Skip to content
Snippets Groups Projects
  1. Aug 04, 2008
    • Ivo van Doorn's avatar
      rt2x00: Disable link tuning in rt2500usb · d06193f3
      Ivo van Doorn authored
      
      In the legacy rt2570 driver the link tuner was never
      really called. And now the reason has finally become
      apparent: It breaks TX capabilities
      
      As soon as the device has been associated all following
      TX frames will be queued in the hardware and never transmitted
      to the air. Disabling sections of the link tuner did not
      have the expected result, but completely disabling the
      link tuner did have the right result (Both of my rt2570 devices
      came back to life).
      
      This should fix Fedora bug: 411481
      
      v2: Fix typos
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d06193f3
  2. Aug 02, 2008
    • Ivo van Doorn's avatar
      rt2x00: Fix compile warning · 82f97b8d
      Ivo van Doorn authored
      
      rt2x00usb_vendor_request_large_buff is write-only, so it is
      safe to make the argument a const.
      
      Fixes compile warning:
      drivers/net/wireless/rt2x00/rt73usb.c: In function 'rt73usb_load_firmware':
      drivers/net/wireless/rt2x00/rt73usb.c:916: warning: passing argument 5 of 'rt2x00usb_vendor_request_large_buff' discards qualifiers from pointer target typ
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82f97b8d
  3. Aug 01, 2008
  4. Jul 29, 2008
  5. Jul 15, 2008
  6. Jul 14, 2008
  7. Jul 10, 2008
  8. Jul 09, 2008
  9. Jul 08, 2008
  10. Jun 27, 2008
    • Ivo van Doorn's avatar
      rt2x00: Fix lock dependency errror · 980dfcb9
      Ivo van Doorn authored
      
      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: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      980dfcb9
    • John W. Linville's avatar
      wireless: remove RFKILL_STATE_HARD_BLOCKED warnings · ff28bd94
      John W. Linville authored
      
        CC [M]  drivers/net/wireless/b43/rfkill.o
      drivers/net/wireless/b43/rfkill.c: In function ‘b43_rfkill_soft_toggle’:
      drivers/net/wireless/b43/rfkill.c:90: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch
      
        CC [M]  drivers/net/wireless/b43legacy/rfkill.o
      drivers/net/wireless/b43legacy/rfkill.c: In function ‘b43legacy_rfkill_soft_toggle’:
      drivers/net/wireless/b43legacy/rfkill.c:92: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch
      
        CC [M]  drivers/net/wireless/iwlwifi/iwl-rfkill.o
      drivers/net/wireless/iwlwifi/iwl-rfkill.c: In function ‘iwl_rfkill_soft_rf_kill’:
      drivers/net/wireless/iwlwifi/iwl-rfkill.c:56: warning: enumeration value ‘RFKILL_STATE_HARD_BLOCKED’ not handled in switch
      
      Also handle RFKILL_STATE_{ON,OFF} -> RFKILL_STATE_{UNBLOCKED,SOFT_BLOCKED}
      conversion since I'm already here...
      
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      ff28bd94
    • Ivo van Doorn's avatar
      rt2x00: kill URB for all TX queues during disable_radio() · 40af48ce
      Ivo van Doorn authored
      
      During rt2x00usb_disable_radio() all pending urb's should
      be killed and not only those from the RX queue.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      40af48ce
    • Ivo van Doorn's avatar
      rt2x00: Remove duplicate deinitialization · 61243d8e
      Ivo van Doorn authored
      
      When rt2x00queue_alloc_rxskbs() fails rt2x00queue_unitialize()
      will be called which will free all rxskb. So we don't need
      to do this in the rt2x00queue_alloc_rxskb() function as well.
      
      rt2x00queue_free_skb() unmaps the DMA but doesn't clear the
      allocation flag. Since the code is copied from rt2x00queue_unmap_skb()
      anyway (and that function does clear the flag) we might as well
      use that function directly.
      
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      61243d8e
  11. Jun 26, 2008
Loading