1. 25 3月, 2011 3 次提交
    • W
      iwlwifi: remove legacy isr tasklet · d6b80618
      Wey-Yi Guy 提交于
      After driver split, no need for support legacy isr, remove it.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      d6b80618
    • D
      iwlwifi: cleanup and bugfix tx aggregation code · d0eb6334
      Daniel Halperin 提交于
      Since the driver split, there's no need for no_agg_framecnt_info since
      all devices have this set to false. Secondly, the compressed block ack
      handling code was broken. Fix this.
      
      (1) A shift less than zero simply implies that the buffer wrapped, this
      is expected. Remove the incorrect comment.
      
      (2) The (agg->frame_count > (64-sh)) condition can happen if the last
      frame is dropped. E.g., if I send 7 frames and the 6th is received but
      the 7th is lost, the other side may only shift the window 6, not 7
      frames since the last bit is a 0. This is perfectly fine behavior and
      doesn't invalidate the feedback.
      
      (3) Store the feedback from a Compressed BA in the first newly received
      frame, rather than the start of the window. This way it will get
      processed by the rate selection code. Feedback stored in a non-received
      frame is likely to get overwritten by the retransmission.
          This is based on the approach taken by minstrel_ht.
      Signed-off-by: NDaniel Halperin <dhalperi@cs.washington.edu>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      d0eb6334
    • J
      iwlagn: clean up TX aggregation code · 7ffef13d
      Johannes Berg 提交于
      Since the driver split, there's no need for
      function pointers any more for aggregation
      queue setup and teardown as all devices now
      share the same code. Simplify this.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      7ffef13d
  2. 12 3月, 2011 1 次提交
  3. 05 3月, 2011 1 次提交
  4. 01 3月, 2011 4 次提交
    • S
      iwlwifi: move remaining iwl-agn-rx.c code into iwl-rx.c · 67289941
      Stanislaw Gruszka 提交于
      There is no need to have separate iwl-agn-rx.c file after iwlegacy
      split.
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      67289941
    • S
      iwlwifi: move check health code into iwl-rx.c · ad6e82a5
      Stanislaw Gruszka 提交于
      Remove check_plcp_health and check_ack_health ops methods, they are
      unneeded after iwlegacy driver split. Merge check health code into to
      iwl-rx.c and make functions static.
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ad6e82a5
    • S
      iwlwifi: add {ack,plpc}_check module parameters · b7977ffa
      Stanislaw Gruszka 提交于
      Add module ack_check, and plcp_check parameters. Ack_check is disabled
      by default since is proved that check ack health can cause troubles.
      Plcp_check is enabled by default.
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b7977ffa
    • S
      iwlwifi: fix dma mappings and skbs leak · 387f3381
      Stanislaw Gruszka 提交于
      Since commit commit 470058e0
      "iwlwifi: avoid Tx queue memory allocation in interface down" we do
      not unmap dma and free skbs when down device and there is pending
      transfer. What in consequence may cause that system hung (waiting
      for free skb's) when performing shutdown at iptables module unload.
      
      DMA leak manifest itself following warning:
      
      WARNING: at lib/dma-debug.c:689 dma_debug_device_change+0x15a/0x1b0()
      Hardware name: HP xw8600 Workstation
      pci 0000:80:00.0: DMA-API: device driver has pending DMA allocations while released from device [count=240]
      Modules linked in: iwlagn(-) aes_x86_64 aes_generic fuse cpufreq_ondemand acpi_cpufreq freq_table mperf xt_physdev ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 ext3 jbd dm_mirror dm_region_hash dm_log dm_mod uinput hp_wmi sparse_keymap sg wmi microcode serio_raw tg3 arc4 ecb shpchp mac80211 cfg80211 rfkill ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif firewire_ohci firewire_core crc_itu_t mptsas mptscsih mptbase scsi_transport_sas pata_acpi ata_generic ata_piix ahci libahci floppy nouveau ttm drm_kms_helper drm i2c_algo_bit i2c_core video [last unloaded: iwlagn]
      Pid: 9131, comm: rmmod Tainted: G        W   2.6.38-rc6-wl+ #33
      Call Trace:
       [<ffffffff810649ef>] ? warn_slowpath_common+0x7f/0xc0
       [<ffffffff81064ae6>] ? warn_slowpath_fmt+0x46/0x50
       [<ffffffff812320ab>] ? dma_debug_device_change+0xdb/0x1b0
       [<ffffffff8123212a>] ? dma_debug_device_change+0x15a/0x1b0
       [<ffffffff8149dc18>] ? notifier_call_chain+0x58/0xb0
       [<ffffffff8108e370>] ? __blocking_notifier_call_chain+0x60/0x90
       [<ffffffff8108e3b6>] ? blocking_notifier_call_chain+0x16/0x20
       [<ffffffff812f570c>] ? __device_release_driver+0xbc/0xe0
       [<ffffffff812f5808>] ? driver_detach+0xd8/0xe0
       [<ffffffff812f45d1>] ? bus_remove_driver+0x91/0x100
       [<ffffffff812f6022>] ? driver_unregister+0x62/0xa0
       [<ffffffff8123d5d4>] ? pci_unregister_driver+0x44/0xa0
       [<ffffffffa05632d1>] ? iwl_exit+0x15/0x1c [iwlagn]
       [<ffffffff810ab492>] ? sys_delete_module+0x1a2/0x270
       [<ffffffff81498da9>] ? trace_hardirqs_on_thunk+0x3a/0x3f
       [<ffffffff8100bf42>] ? system_call_fastpath+0x16/0x1b
      
      I still can observe above warning after apply patch, but it is very
      hard to reproduce it, and have count=1. Whereas that one is easy to
      reproduce using debugfs force_reset while transmitting data, and have
      very big counts eg. 240, like quoted here. So count=1 WARNING seems
      to be different issue that need to be resolved separately.
      
      v1 -> v2: fix infinity loop bug I made during "for" to "while" loop transition.
      v2 -> v3: remove unneeded EXPORT_SYMBOL
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      387f3381
  5. 27 2月, 2011 1 次提交
  6. 01 2月, 2011 2 次提交
  7. 29 1月, 2011 2 次提交
  8. 22 1月, 2011 1 次提交
  9. 05 1月, 2011 1 次提交
  10. 14 12月, 2010 4 次提交
  11. 10 12月, 2010 1 次提交
  12. 07 12月, 2010 1 次提交
  13. 25 11月, 2010 2 次提交
  14. 16 11月, 2010 10 次提交
  15. 08 10月, 2010 6 次提交