1. 18 11月, 2010 12 次提交
  2. 17 11月, 2010 2 次提交
  3. 16 11月, 2010 3 次提交
  4. 10 11月, 2010 1 次提交
  5. 09 11月, 2010 1 次提交
  6. 28 10月, 2010 1 次提交
  7. 16 10月, 2010 2 次提交
  8. 12 10月, 2010 1 次提交
  9. 07 10月, 2010 1 次提交
  10. 21 9月, 2010 3 次提交
  11. 17 9月, 2010 1 次提交
    • L
      ath9k: fix enabling ANI / tx monitor after bg scan · 48a6a468
      Luis R. Rodriguez 提交于
      ath9k's entire logic with SC_OP_SCANNING is incorrect due to the
      way mac80211 currently implements the scan complete callback and
      we handle it in ath9k. This patch removes the flag completely in
      preference for the SC_OP_OFFCHANNEL which is really what we wanted.
      
      The scanning flag was used to ensure we reset ANI to the old values
      when we go back to the home channel, but if we are offchannel we
      use some defaults. The flag was also used to re-enable the TX monitor.
      
      Without this patch we simply never re-enabled ANI and the TX monitor
      after going offchannel. This means that after one background
      scan we are prone to noise issues and if we had a TX hang we would
      not recover. To get this to work properly we must enable ANI after
      we have configured the beacon timers, otherwise hardware acts really
      oddly.
      
      This patch has stable fixes which apply down to [2.6.36+], there
      *may* be a to fix this on older kernels but requires a bit of
      work since this patch relies on the new mac80211 flag
      IEEE80211_CONF_OFFCHANNEL which was introduced as of 2.6.36.
      
      Cc: stable@kernel.org
      Cc: Paul Stewart <pstew@google.com>
      Cc: Amod Bodas <amod.bodas@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      48a6a468
  12. 15 9月, 2010 1 次提交
    • F
      ath9k: fix BSSID mask calculation · 31a01645
      Felix Fietkau 提交于
      At the time the .add_interface driver op is called, the interface has not
      been marked as running yet, so ieee80211_iterate_active_interfaces will
      not pass it to the iterator function.
      Because of this, the calculated BSSID mask is wrong, which breaks multi-BSS
      operation.
      
      Additionally, the current way of comparing all addresses against each other
      is pointless, as the hardware only uses the hardware MAC address and the BSSID
      mask for matching the destination address, so all the address array
      reallocation is completely unnecessary.
      
      This patch simplifies the logic by setting the initial mask bytes to 0xff
      and removing all bits in the iterator call that don't match the hardware MAC
      address. It also calls the iterator for the vif that was passed to
      add_interface()
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Tested-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      31a01645
  13. 08 9月, 2010 1 次提交
  14. 25 8月, 2010 1 次提交
  15. 17 8月, 2010 1 次提交
  16. 05 8月, 2010 2 次提交
    • F
      ath9k_hw: clean up per-channel calibration data · 20bd2a09
      Felix Fietkau 提交于
      The noise floor history buffer is currently not kept per channel, which
      can lead to problems when changing channels from a clean channel to a
      noisy one. Also when switching from HT20 to HT40, the noise floor
      history buffer is full of measurements, but none of them contain data
      for the extension channel, which it needs quite a bit of time to recover
      from.
      
      This patch puts all the per-channel calibration data into a single data
      structure, and gives the the driver control over whether that is used
      per-channel or even not used for some channels.
      
      For ath9k_htc, I decided to keep this per-channel in order to avoid
      creating regressions.
      
      For ath9k, the data is kept only for the operating channel, which saves
      some space. ath9k_hw takes care of wiping old data when the operating
      channel or its channel flags change.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      20bd2a09
    • F
      ath9k: prevent calibration during off-channel activity · 5ee08656
      Felix Fietkau 提交于
      Previously the software scan callback was used to indicate to the hardware,
      when it was safe to calibrate. This didn't really work properly, because it
      depends on a specific order of software scan callbacks vs. channel changes.
      Also, software scans are not the only thing that triggers off-channel
      activity, so it's better to use the newly added indication from mac80211 for
      this and not use the software scan callback for anything calibration related.
      
      This fixes at least some of the invalid noise floor readings that I've seen
      in AP mode on AR9160
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5ee08656
  17. 27 7月, 2010 1 次提交
  18. 03 7月, 2010 1 次提交
  19. 25 6月, 2010 2 次提交
  20. 24 6月, 2010 2 次提交
    • V
      ath9k: Fix bug in starting ani · 6c3118e2
      Vasanthakumar Thiagarajan 提交于
      There are few places where ANI is started without checking
      if it is right to start. This might lead to a case where ani
      timer would be left undeleted and cause improper memory acccess
      during module unload. This bug is clearly exposed with
      paprd support where the driver detects tx hang and does a
      chip reset. During this reset ani is (re)started without checking
      if it needs to be started. This would leave a timer scheduled
      even after all the resources are freed and cause a panic.
      
      This patch introduces a bit in sc_flags to indicate if ani
      needs to be started in sw_scan_start() and ath_reset().
      This would fix the following panic. This issue is easily seen
      with ar9003 + paprd.
      
       BUG: unable to handle kernel paging request at 0000000000003f38
      [<ffffffff81075391>] ? __queue_work+0x41/0x50
      [<ffffffff8106afaa>] run_timer_softirq+0x17a/0x370
      [<ffffffff81088be8>] ? tick_dev_program_event+0x48/0x110
      [<ffffffff81061f69>] __do_softirq+0xb9/0x1f0
      [<ffffffff810ba060>] ? handle_IRQ_event+0x50/0x160
      [<ffffffff8100af5c>] call_softirq+0x1c/0x30
      [<ffffffff8100c9f5>] do_softirq+0x65/0xa0
      [<ffffffff81061e25>] irq_exit+0x85/0x90
      [<ffffffff8155e095>] do_IRQ+0x75/0xf0
      [<ffffffff815570d3>] ret_from_intr+0x0/0x11
      <EOI>
      [<ffffffff812fd67b>] ? acpi_idle_enter_simple+0xe4/0x119
      [<ffffffff812fd674>] ? acpi_idle_enter_simple+0xdd/0x119
      [<ffffffff81441c87>] cpuidle_idle_call+0xa7/0x140
      [<ffffffff81008da3>] cpu_idle+0xb3/0x110
      [<ffffffff81550722>] start_secondary+0x1ee/0x1f5
      Signed-off-by: NVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6c3118e2
    • V
      ath9k: Add a module parameter to disable led blinking. · 9a75c2ff
      Vivek Natarajan 提交于
      Some vendors require the LED to be ON always irrespective of any
      radio activity. Introducing a module parameter to disable blinking,
      so that one can choose between always on or led blink during
      activity.
      Signed-off-by: NVivek Natarajan <vnatarajan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9a75c2ff