1. 26 6月, 2010 5 次提交
    • W
      iwlwifi: add a mechanism to disable plcp error checking · 680788ac
      Wey-Yi Guy 提交于
      For some devices, especially the upcoming new devices, the plcp error
      rate is different. Before the correct error rate can be determine, also
      for the debugging purpose; add the mechanism to disable plcp error checking
      which cause radio reset happen.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      680788ac
    • W
      iwlwifi: enable DC calibration based on config parameter · 178d1596
      Wey-Yi Guy 提交于
      Different devices have different calibration requirement,
      some need DC calibration and some don't; make it a cfg parameter
      for easy management.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      178d1596
    • W
      iwlwifi: name change from signal protection flag · 4e3243f5
      Wey-Yi Guy 提交于
      This bit need to be set for both RTS/CTS or CTS-to-self protection, if
      CTS-to-self is used, then uCode will  check the RXON_FLG_SELF_CTS_EN
      status. Change the name from TX_CMD_FLG_RTS_CTS_MSK to TX_CMD_FLAG_PROT_REQUIRE_MSK
      to match the behavior of the bit setting.
      
      Also update comments to reflect which hardware uses which of the TX command
      flags.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      4e3243f5
    • W
      iwlwifi: set TX_CMD_FLAG_PROT_REQUIRE_MSK in tx_flag · 062bee44
      Wey-Yi Guy 提交于
      When building tx command, always set TX_CMD_FLAG_PROT_REQUIRE_MSK
      for 5000 series and up.
      
      Without setting this bit the firmware will not examine the RTS/CTS setting
      and thus not send traffic with the appropriate protection. RTS/CTS is is
      required for HT traffic in a noisy environment where, without this setting,
      connections will stall on some hardware as documented in the patch that
      initially attempted to address this:
      
          commit 1152dcc2
          Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
          Date:   Fri Jan 15 13:42:58 2010 -0800
      
          iwlwifi: Fix throughput stall issue in HT mode for 5000
      
          Similar to 6000 and 1000 series, RTS/CTS is the recommended
          protection mechanism for 5000 series in HT mode based on the HW design.
          Using RTS/CTS will better protect the inner exchange from interference,
          especially in highly-congested environment, it also prevent uCode encounter
          TX FIFO underrun and other HT mode related performance issues.
      
      For 3945 and 4965, different flags are used for RTS/CTS or CTS-to-Self
      protection.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      062bee44
    • J
      iwlwifi: fix multicast · d1e89f37
      Johannes Berg 提交于
      commit 3474ad63
      Author: Johannes Berg <johannes.berg@intel.com>
      Date:   Thu Apr 29 04:43:05 2010 -0700
      
          iwlwifi: apply filter flags directly
      
      broke multicast. The reason, it turns out, is that
      the code previously checked if ALLMULTI _changed_,
      which the new code no longer did, and normally it
      _never_ changes. Had somebody changed it manually,
      the code prior to my patch there would have been
      broken already.
      
      The reason is that we always, unconditionally, ask
      the device to pass up all multicast frames, but the
      new code made it depend on ALLMULTI which broke it
      since now we'd pass up multicast frames depending
      on the default filter in the device, which isn't
      necessarily what we want (since we don't program it
      right now).
      
      Fix this by simply not checking allmulti as we have
      allmulti behaviour enabled already anyway.
      Reported-by: NMaxim Levitsky <maximlevitsky@gmail.com>
      Tested-by: NMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      d1e89f37
  2. 22 6月, 2010 9 次提交
  3. 16 6月, 2010 1 次提交
    • J
      iwlwifi: cancel scan watchdog in iwl_bg_abort_scan · a69b03e9
      John W. Linville 提交于
      Avoids this:
      
      WARNING: at net/mac80211/scan.c:312 ieee80211_scan_completed+0x5f/0x1f1
      [mac80211]()
      Hardware name: Latitude E5400
      Modules linked in: aes_x86_64 aes_generic fuse ipt_MASQUERADE iptable_nat
      nf_nat rfcomm sco bridge stp llc bnep l2cap sunrpc cpufreq_ondemand
      acpi_cpufreq freq_table xt_physdev ip6t_REJECT nf_conntrack_ipv6
      ip6table_filter ip6_tables ipv6 kvm_intel kvm uinput arc4 ecb
      snd_hda_codec_intelhdmi snd_hda_codec_idt snd_hda_intel iwlagn snd_hda_codec
      snd_hwdep snd_seq snd_seq_device iwlcore snd_pcm dell_wmi sdhci_pci sdhci
      iTCO_wdt tg3 dell_laptop mmc_core i2c_i801 wmi mac80211 snd_timer
      iTCO_vendor_support btusb joydev dcdbas cfg80211 bluetooth snd soundcore
      microcode rfkill snd_page_alloc firewire_ohci firewire_core crc_itu_t
      yenta_socket rsrc_nonstatic i915 drm_kms_helper drm i2c_algo_bit i2c_core video
      output [last unloaded: scsi_wait_scan]
      Pid: 979, comm: iwlagn Tainted: G        W  2.6.33.3-85.fc13.x86_64 #1
      Call Trace:
      [<ffffffff8104b558>] warn_slowpath_common+0x77/0x8f
      [<ffffffff8104b57f>] warn_slowpath_null+0xf/0x11
      [<ffffffffa01bb7d9>] ieee80211_scan_completed+0x5f/0x1f1 [mac80211]
      [<ffffffffa02a23f0>] iwl_bg_scan_completed+0xbb/0x17a [iwlcore]
      [<ffffffff81060d3d>] worker_thread+0x1a4/0x232
      [<ffffffffa02a2335>] ? iwl_bg_scan_completed+0x0/0x17a [iwlcore]
      [<ffffffff81064817>] ? autoremove_wake_function+0x0/0x34
      [<ffffffff81060b99>] ? worker_thread+0x0/0x232
      [<ffffffff810643c7>] kthread+0x7a/0x82
      [<ffffffff8100a924>] kernel_thread_helper+0x4/0x10
      [<ffffffff8106434d>] ? kthread+0x0/0x82
      [<ffffffff8100a920>] ? kernel_thread_helper+0x0/0x10
      
      Reported here:
      
      	https://bugzilla.redhat.com/show_bug.cgi?id=590436Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      Reported-by: NMihai Harpau <mishu@piatafinanciara.ro>
      Cc: stable@kernel.org
      Acked-by: NReinette Chatre <reinette.chatre@intel.com>
      a69b03e9
  4. 15 6月, 2010 8 次提交
  5. 09 6月, 2010 1 次提交
  6. 08 6月, 2010 1 次提交
    • J
      iwlwifi: fix-up botched revert · dc1dfe47
      John W. Linville 提交于
      In the revert of "iwlwifi: move _agn statistics related structure", I
      need to use CONFIG_IWLWIFI_DEBUGFS instead of CONFIG_IWLWIFI_DEBUG in
      the private structure definition.  Without this patch, it is possible
      to get this:
      
      drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_accumulative_statistics':
      drivers/net/wireless/iwlwifi/iwl-rx.c:304: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:305: error: 'struct iwl_priv' has no member named 'delta_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:306: error: 'struct iwl_priv' has no member named 'max_delta'
      drivers/net/wireless/iwlwifi/iwl-rx.c:321: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:323: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:325: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:327: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:329: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:331: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c: In function 'iwl_reply_statistics':
      drivers/net/wireless/iwlwifi/iwl-rx.c:484: error: 'struct iwl_priv' has no member named 'accum_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:486: error: 'struct iwl_priv' has no member named 'delta_statistics'
      drivers/net/wireless/iwlwifi/iwl-rx.c:488: error: 'struct iwl_priv' has no member named 'max_delta'
      Reported-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      dc1dfe47
  7. 06 6月, 2010 15 次提交