1. 20 2月, 2010 1 次提交
  2. 12 2月, 2010 1 次提交
  3. 26 1月, 2010 2 次提交
    • R
      iwlwifi: make broadcast station addition generic · 3459ab5a
      Reinette Chatre 提交于
      Add function pointer for broadcast station addition so that we can call it
      in from iwlcore at a later time. We only distinguish between iwlagn and
      iwl3945 broadcast station addition. For the iwl3945 station addition we add
      that function to iwlcore since that is where most station functionality
      resides, making it part of iwl3945 will require significant code
      reorganization that will dilute station management functionality. This
      seems to be an efficient solution.
      
      It may seem as though we are removing error checking when adding the 3945
      broadcast station but this error checking was never really necessary since
      the function returns the station id and the broadcast station id is always
      set.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3459ab5a
    • T
      iwlwifi: Tune radio to prevent unexpected behavior · 3e4fb5fa
      Trieu 'Andrew' Nguyen 提交于
      We have seen the throughput dropped due to external noisy environment
      and the radio is out of tune.  There are lot of plcp errors indicating
      this condition. Eventually the station can get de-authenticated by the
      Access Point.  By resetting and tuning the radio, the plcp errors are
      reduced or eliminated and the throughput starts to rise.
      
      To prevent unexpected behavior such as drop in throughput or deauthentication,
      - The change provides the driver feature to monitor and tune the radio base on
      the statistics notification from the uCode.
      - It also allows the setting of the plcp error rate threshold via
      the plcp_delta under debugfs interface.
      Signed-off-by: NTrieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3e4fb5fa
  4. 20 1月, 2010 1 次提交
  5. 29 12月, 2009 1 次提交
  6. 23 12月, 2009 1 次提交
  7. 22 12月, 2009 2 次提交
  8. 12 11月, 2009 1 次提交
  9. 28 10月, 2009 15 次提交
  10. 12 10月, 2009 1 次提交
  11. 08 10月, 2009 5 次提交
  12. 29 9月, 2009 1 次提交
    • R
      iwlwifi: fix 3945 ucode info retrieval after failure · b7a79404
      Reinette Chatre 提交于
      When hardware or uCode problem occurs driver captures significant
      information from device to enable debugging. The format of this information
      is different between 3945 and 4965 and later devices, yet currently the
      3945 uses the 4965 and later format. Fix this by adding a new library call
      that is initialized to the correct formatting routine based on device.
      
      This moves the iwlagn event and error log handling back to iwl-agn.c to
      make it part of iwlagn module.
      
      Also remove the 3945 sysfs file that triggers dump of event log - there is
      already a debugfs file that can do it for all drivers.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b7a79404
  13. 20 8月, 2009 2 次提交
    • D
      iwlwifi: fix erroneous use of iwl_rx_packet.len as a length · 396887a2
      Daniel C Halperin 提交于
      The field called 'len' in struct iwl_rx_packet is in fact not just a length
      field but also includes some flags from the flow handler.  In several places
      throughout the driver, this causes incorrect values to be interpreted as
      lengths when the field is improperly masked.
      
      In most situations the improper use is for debugging output, and simply results
      in an erroneous message, such as:
      
      [551933.070224] ieee80211 phy0: I iwl_rx_statistics Statistics notification received (480 vs -1367342620).
      
      which should read '(480 vs 484)'.
      
      In at least one case this could case bad things to happen:
      
      void iwl_rx_pm_debug_statistics_notif(struct iwl_priv *priv,
                                            struct iwl_rx_mem_buffer *rxb)
      {
              struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data;
              IWL_DEBUG_RADIO(priv, "Dumping %d bytes of unhandled "
                              "notification for %s:\n",
                              le32_to_cpu(pkt->len), get_cmd_string(pkt->hdr.cmd));
              iwl_print_hex_dump(priv, IWL_DL_RADIO, pkt->u.raw, le32_to_cpu(pkt->len)
      );
      }
      EXPORT_SYMBOL(iwl_rx_pm_debug_statistics_notif);
      
      Given the rampant misuse of this field without proper masking throughout the
      driver (every use but one), this patch renames the field from 'len' to
      'len_n_flags' to reduce confusion.  It also adds the proper masking when
      this field is used as a length value.
      Signed-off-by: NDaniel C Halperin <daniel.c.halperin@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      396887a2
    • D
      iwlwifi: use station HT capabilities and BSS operating mode for Green-field · b261793d
      Daniel C Halperin 提交于
      Green-field mode should be configured in the HT station table.  This patch uses
      both the per-station GF support flag as well as the current BSS HT operation
      mode (non-GF stations present flag).
      
      Added the "ht_greenfield_support" field to struct iwl_cfg to replace the
      device-specific check in rs_use_green().  That check has been moved to
      iwlcore_init_ht_hw_capab().
      Signed-off-by: NDaniel C Halperin <daniel.c.halperin@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b261793d
  14. 14 8月, 2009 5 次提交
  15. 28 7月, 2009 1 次提交
    • J
      iwlwifi: fix up command sending · c2acea8e
      Johannes Berg 提交于
      The current command sending in iwlwifi is a bit of a mess:
       1) there is a struct, iwl_cmd, that contains both driver
          and device data in a single packed structure -- this
          is very confusing
       2) the on-stack data and the command metadata share a
          structure by embedding the latter in the former, which
          is also rather confusing because it leads to weird
          unions and similarly odd constructs
       3) each txq always has enough space for 256 commands,
          even if only 32 end up being used
      
      This patch fixes these things:
       1) rename iwl_cmd to iwl_device_cmd and keep track of
          command metadata and device command separately, in
          two arrays in each tx queue
       2) remove the 'meta' member from iwl_host_cmd and only
          put in the required members
       3) allocate the cmd/meta arrays separately instead of
          embedding them into the txq structure
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c2acea8e