1. 11 Mar, 2011 3 commits
    • Felix Fietkau's avatar
      ath9k: remove support for the FIF_PROMISC_IN_BSS filter flag · 2e286947
      Felix Fietkau authored
      The hardware rx filter flag triggered by FIF_PROMISC_IN_BSS is overly broad
      and covers even frames with PHY errors. When this flag is enabled, this message
      shows up frequently during scanning or hardware resets:
      
      ath: Could not stop RX, we could be confusing the DMA engine when we start RX up
      
      Since promiscuous mode is usually not particularly useful, yet enabled by
      default by bridging (either used normally in 4-addr mode, or with hacks
      for various virtualization software), we should sacrifice it for better
      reliability during normal operation.
      
      This patch leaves it enabled if there are active monitor mode interfaces, since
      it's very useful for debugging.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2e286947
    • Grazvydas Ignotas's avatar
      wl1251: fix elp_work race condition · 5f6722ee
      Grazvydas Ignotas authored
      While working on PS I've noticed elp_work is kicking rather often, and
      sometimes the chip is put to sleep before 5ms delay expires. This
      seems to happen because by the time wl1251_ps_elp_wakeup is called
      elp_work might still be pending. After wakeup is done, the processing
      may take some time, during which 5ms might expire and elp_work might
      get scheduled. In this case, ss soon as 1st thread finishes work and
      releases the mutex, elp_work will then put the device to sleep without
      5ms delay. In addition 1st thread will queue additional elp_work
      needlessly.
      
      Fix this by cancelling work in wl1251_ps_elp_wakeup instead.
      Signed-off-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
      Acked-by: default avatarKalle Valo <kvalo@adurom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5f6722ee
    • Grazvydas Ignotas's avatar
      wl1251: remove wl1251_ps_set_elp function · d0c331af
      Grazvydas Ignotas authored
      wl1251_ps_set_elp() only does acx_sleep_auth call and takes the chip
      from/to ELP, however all callers of wl1251_ps_set_mode() have already
      taken the chip out of ELP and puts it back to ELP when they finish.
      This makes ELP calls (and register writes they result in) superfluous.
      
      So remove wl1251_ps_set_elp function and call acx_sleep_auth directly.
      Signed-off-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
      Acked-by: default avatarKalle Valo <kvalo@adurom.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d0c331af
  2. 09 Mar, 2011 5 commits
  3. 07 Mar, 2011 8 commits
  4. 04 Mar, 2011 24 commits