1. 13 Mar, 2008 30 commits
  2. 12 Mar, 2008 1 commit
  3. 07 Mar, 2008 9 commits
    • Reinette Chatre's avatar
      iwlwifi: fix potential lock inversion deadlock · deedf504
      Reinette Chatre authored
      This is a change to a previous patch ("iwlwifi: 3945 split tx_complete
      to command and packet function") to ensure we do not have hardirq safe
      locks (priv->lock in this case) depend on hardirq unsafe locks.
      
      We only call iwl3945_tx_queue_reclaim while in a tasklet so we have to use
      the irqsafe version of the function.
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      deedf504
    • John W. Linville's avatar
      wireless: correct warnings from using '%llx' for type 'u64' · f868f4e1
      John W. Linville authored
      drivers/net/wireless/ath5k/debug.c: In function 'read_file_tsf': drivers/net/wireless/ath5k/debug.c:203: warning: format '%016llx'
      expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c:203: warning: format '%016llx'
      expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/debug.c: In function 'read_file_beacon':
      drivers/net/wireless/ath5k/debug.c:274: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64'
      drivers/net/wireless/ath5k/debug.c:274: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'u64'
      
      drivers/net/wireless/iwlwifi/iwl-4965.c: In function 'iwl4965_tx_status_reply_compressed_ba':
      drivers/net/wireless/iwlwifi/iwl-4965.c:3907: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'u64'
      drivers/net/wireless/iwlwifi/iwl-4965.c: In function 'iwl4965_rx_reply_compressed_ba':
      drivers/net/wireless/iwlwifi/iwl-4965.c:4039: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type '__le64'
      drivers/net/wireless/iwlwifi/iwl-4965.c:4046: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'u64'
      drivers/net/wireless/iwlwifi/iwl4965-base.c: In function 'iwl4965_tx_status_reply_tx':
      drivers/net/wireless/iwlwifi/iwl4965-base.c:3661: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'u64'
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f868f4e1
    • Bruno Randolf's avatar
      ath5k: work around wrong beacon rx timestamp in IBSS mode · 6ba81c2c
      Bruno Randolf authored
      atheros hardware has a problem with the rx timestamp of some IBSS beacons when
      they caused a TSF update (they have the same BSSID).
      
      the rx timestamp is wrong especially if the beacon frames get bigger than 78
      byte (at least on AR5213 and AR5414 hardware). in that case ath5k_extend_tsf()
      will assume a rs_tstamp overflow and give us a timestamp too far in the past
      which will cause mac80211 to merge IBSS on every beacon (which is not necessary
      since the BSSID already matches). but in this case we know that the HW must
      have synced to the beacons TSF and the rx timestamp must be later than that so
      we can adjust mactime accordingly.
      
      also rename the function to ath5k_check_ibss_tsf() and change comments, since
      "hw merge" is better described as a TSF update.
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: default avatarBruno Randolf <bruno@thinktube.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6ba81c2c
    • Bruno Randolf's avatar
      ath5k: add notes about rx timestamp · e14296ca
      Bruno Randolf authored
      add comments about the fact that we don't know when exactly the atheros
      hardware takes the RX timestamp.
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      Signed-off-by: default avatarBruno Randolf <bruno@thinktube.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      e14296ca
    • Bruno Randolf's avatar
      ath5k: move rx and tx status structures out of hardware descriptor · b47f407b
      Bruno Randolf authored
      move ath5k_tx_status and ath5k_rx_status structures out of the hardware
      descriptor since they are not accessed by the hardware at all. they just
      contain converted information from the hardware descriptor. since they are only
      used in the rx and tx tasklets there is also no use to keep them for each
      descriptor.
      
      drivers/net/wireless/ath5k/ath5k.h:     Changes-licensed-under: ISC
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      drivers/net/wireless/ath5k/debug.c:     Changes-licensed-under: GPL
      drivers/net/wireless/ath5k/debug.h:     Changes-licensed-under: GPL
      drivers/net/wireless/ath5k/hw.c:        Changes-licensed-under: ISC
      Signed-off-by: default avatarBruno Randolf <bruno@thinktube.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b47f407b
    • Bruno Randolf's avatar
      ath5k: struct ath5k_desc cleanups · 19fd6e55
      Bruno Randolf authored
      * make struct ath5k_desc clearer by directly including unions of structures,
        which correspond to the hardware descriptors of different HW versions (5210
        and 5212). before they were casted at onto ath5k_desc at different points
        (e.g.  ds_hw[2]).
      
      * rename some structures and variable names to make their use clearer, e.g.
        struct ath5k_hw_4w_tx_desc to ath5k_hw_4w_tx_ctl.
      
      * substitute "old" with "5210" and "new" with "5212" (eg. rename
        ath5k_hw_proc_new_rx_status() to ath5k_hw_proc_5212_rx_status()) because old
        and new are relative and we might have a newer structure at some point.
      
      * unify structs ath5k_hw_old_rx_status and ath5k_hw_new_rx_status into one
        ath5k_hw_rx_status, because they only differ in the flags and masks.
      
      drivers/net/wireless/ath5k/ath5k.h:     Changes-licensed-under: ISC
      drivers/net/wireless/ath5k/debug.c:     Changes-licensed-under: GPL
      drivers/net/wireless/ath5k/hw.c:        Changes-licensed-under: ISC
      drivers/net/wireless/ath5k/hw.h:        Changes-licensed-under: ISC
      Signed-off-by: default avatarBruno Randolf <bruno@thinktube.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      19fd6e55
    • Ron Rindjunsky's avatar
      iwlwifi: grab NIC access when disabling aggregations · b095d03a
      Ron Rindjunsky authored
      This patch grabs NIC access inside iwl4965_tx_queue_agg_disable, instead of the
      caller doing it.
      The caller must still hold priv->lock when calling the function.
      Signed-off-by: default avatarMax Stepanov <max.stepanov@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b095d03a
    • Tomas Winkler's avatar
      iwlwifi: 3945 split tx_complete to command and packet function · 91c066f2
      Tomas Winkler authored
      This patch
      1. removes cmd completion from iwl3945_tx_queue_reclaim
      and creates iwl3945_cmd_queue_reclaim.
      1. removes 11n relevant elements from this function
      2. removes call to ieee80211_tx_status_irqsafe
      and uses ieee80211_tx_status only
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      91c066f2
    • Tomas Winkler's avatar
      iwlwifi: Fix 3945 rate scaling · 28447f3c
      Tomas Winkler authored
      This patch fix 3945 rate scaling after cfg80211 rate/band changes
      Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      28447f3c