1. 12 9月, 2008 1 次提交
  2. 30 8月, 2008 1 次提交
    • I
      rt2x00: Fix race conditions in flag handling · 0262ab0d
      Ivo van Doorn 提交于
      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: NStephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0262ab0d
  3. 09 7月, 2008 1 次提交
  4. 27 6月, 2008 1 次提交
    • J
      wireless: remove RFKILL_STATE_HARD_BLOCKED warnings · ff28bd94
      John W. Linville 提交于
        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: NJohn W. Linville <linville@tuxdriver.com>
      ff28bd94
  5. 14 3月, 2008 1 次提交
  6. 01 3月, 2008 1 次提交
  7. 29 1月, 2008 5 次提交
  8. 11 10月, 2007 4 次提交
    • I
      [PATCH] rt2x00: Fix rfkill handling · 81873e9c
      Ivo van Doorn 提交于
      As reported by Modestas Vainius, enabling rkfill in 1 driver and
      disabling it in a second could cause a NULL pointer exception when
      the rfkill-disabled driver still sets the CONFIG_SUPPORT_HW_BUTTON flag.
      
      Furthermore, rfkill expects the timeout as a value in milliseconds
      instead of jiffies. Also increase the timeout to a second,
      since this 250ms would be overkill.
      
      Also the flag DEVICE_ENABLED_RADIO_HW is causing problems
      for devices which do not support the hardware button
      while rfkill is enabled in the driver.
      
      To remidy this we should inverse the flag and its meaning,
      rename the flag to DEVICE_DISABLED_RADIO_HW this means that
      by default the radio is enabled by the hardware button (if present)
      and can only be disabled explicitely.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      81873e9c
    • I
      [PATCH] rt2x00: Reorganize rt2x00dev->flags · 066cb637
      Ivo van Doorn 提交于
      The rt2x00dev->flags has become a chaos over time,
      this will reorganize the flags by renaming, deleting, adding
      and properly implement the flags.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      066cb637
    • J
      [PATCH] mac80211: revamp interface and filter configuration · 4150c572
      Johannes Berg 提交于
      Drivers are currently supposed to keep track of monitor
      interfaces if they allow so-called "hard" monitor, and
      they are also supposed to keep track of multicast etc.
      
      This patch changes that, replaces the set_multicast_list()
      callback with a new configure_filter() callback that takes
      filter flags (FIF_*) instead of interface flags (IFF_*).
      For a driver, this means it should open the filter as much
      as necessary to get all frames requested by the filter flags.
      Accordingly, the filter flags are named "positively", e.g.
      FIF_ALLMULTI.
      
      Multicast filtering is a bit special in that drivers that
      have no multicast address filters need to allow multicast
      frames through when either the FIF_ALLMULTI flag is set or
      when the mc_count value is positive.
      
      At the same time, drivers are no longer notified about
      monitor interfaces at all, this means they now need to
      implement the start() and stop() callbacks and the new
      change_filter_flags() callback. Also, the start()/stop()
      ordering changed, start() is now called *before* any
      add_interface() as it really should be, and stop() after
      any remove_interface().
      
      The patch also changes the behaviour of setting the bssid
      to multicast for scanning when IEEE80211_HW_NO_PROBE_FILTERING
      is set; the IEEE80211_HW_NO_PROBE_FILTERING flag is removed
      and the filter flag FIF_BCN_PRBRESP_PROMISC introduced.
      This is a lot more efficient for hardware like b43 that
      supports it and other hardware can still set the BSSID
      to all-ones.
      
      Driver modifications by Johannes Berg (b43 & iwlwifi), Michael Wu
      (rtl8187, adm8211, and p54), Larry Finger (b43legacy), and
      Ivo van Doorn (rt2x00).
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NMichael Wu <flamingice@sourmilk.net>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4150c572
    • I