All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Improvements to software scanning
@ 2013-01-29 23:47 Seth Forshee
  2013-01-29 23:47 ` [PATCH 1/7] mac80211: Return a status for tx operations Seth Forshee
                   ` (9 more replies)
  0 siblings, 10 replies; 44+ messages in thread
From: Seth Forshee @ 2013-01-29 23:47 UTC (permalink / raw)
  To: Johannes Berg, linux-wireless
  Cc: Seth Forshee, John W. Linville, Arend van Spriel, Stanislaw Gruszka

This patch series fixes a number of problems observed during software
scanning, as described in [1].

The first four patches implement improved queue handling during
off-channel operation and add some needed flushing of the hardware
queues, as suggested by Johannes in [2]. This includes adding a new
queue stop reason of off-channel operation, a transmit path for frames
which do need to be transmitted when off-channel, and some improvements
in error handling.

The last three fix a problem specific to brcmsmac (and likely b43,
though I don't have hardware for testing b43). Broadcom hardware
actively clears the PM bit in frame control whenever the hardware is not
configured correctly, and since wireless drivers have no knowledge of
off-channel powersave such configuration cannot be done. The patches
expand the driver powersave configuration with an off-channel state and
update brcmsmac to make use of it.

Johannes: I have a couple of comments/questions for you related to these
patches.

First, in the patches I've added an offchan_tx_ok argument to the tx
operations, but this seems a little awkward to me since it has to be
propogated down through a fairly deep call stack. The alternative idea
that occurred to me is to use a tx control flag, but that seems to be
pretty crowded. Any thoughts?

Second, I attempted to test these patches with iwlwifi (Centrino
Advanced-N 6235) to verify that I didn't break anything for drivers with
hw scanning. My standard test for this involves running iperf while
triggering nearly continuous scans, but I'm seeing lots of problems
running a tcp iperf test even with unpatched 3.8-rc4. iperf with udp
does fine in either direction. I haven't had time to do any kind of
debugging yet, but I thought you'd want to know.

Thanks,
Seth

[1] http://marc.info/?l=linux-wireless&m=135766865110986&w=2
[2] http://marc.info/?l=linux-wireless&m=135838252227053&w=2


Seth Forshee (7):
  mac80211: Return a status for tx operations
  mac80211: Fix tx queue handling during scans
  mac80211: Improve error handling for off-channel operation
  mac80211: Add flushes before going off-channel
  mac80211: Expand powersave configuration flag to be two bits
  mac80211: Add off-channel powersave state
  brcmsmac: Add support for off-channel powersave

 drivers/net/wireless/ath/ath9k/htc_drv_main.c      |    2 +-
 drivers/net/wireless/ath/ath9k/main.c              |    2 +-
 drivers/net/wireless/ath/carl9170/main.c           |    2 +-
 drivers/net/wireless/ath/carl9170/rx.c             |    2 +-
 .../net/wireless/brcm80211/brcmsmac/mac80211_if.c  |   15 ++-
 drivers/net/wireless/brcm80211/brcmsmac/main.c     |    9 ++
 drivers/net/wireless/brcm80211/brcmsmac/pub.h      |    1 +
 drivers/net/wireless/iwlwifi/dvm/power.c           |    2 +-
 drivers/net/wireless/mac80211_hwsim.c              |    2 +-
 drivers/net/wireless/p54/fwio.c                    |    2 +-
 drivers/net/wireless/p54/txrx.c                    |    2 +-
 drivers/net/wireless/rt2x00/rt2400pci.c            |    3 +-
 drivers/net/wireless/rt2x00/rt2500pci.c            |    3 +-
 drivers/net/wireless/rt2x00/rt2500usb.c            |    3 +-
 drivers/net/wireless/rt2x00/rt2800lib.c            |    3 +-
 drivers/net/wireless/rt2x00/rt2x00config.c         |    4 +-
 drivers/net/wireless/rt2x00/rt2x00dev.c            |    2 +-
 drivers/net/wireless/rt2x00/rt61pci.c              |    3 +-
 drivers/net/wireless/rt2x00/rt73usb.c              |    3 +-
 drivers/net/wireless/rtlwifi/core.c                |    2 +-
 drivers/net/wireless/rtlwifi/ps.c                  |    4 +-
 drivers/net/wireless/ti/wl1251/main.c              |    7 +-
 drivers/net/wireless/ti/wlcore/main.c              |    6 +-
 include/net/mac80211.h                             |  125 +++++++++++++++----
 net/mac80211/agg-tx.c                              |    4 +-
 net/mac80211/cfg.c                                 |    2 +-
 net/mac80211/ht.c                                  |    2 +-
 net/mac80211/ieee80211_i.h                         |   72 ++++++++---
 net/mac80211/mlme.c                                |   32 ++---
 net/mac80211/offchannel.c                          |  114 +++++++++--------
 net/mac80211/scan.c                                |   44 +++++--
 net/mac80211/sta_info.c                            |    2 +-
 net/mac80211/tx.c                                  |  131 +++++++++++---------
 net/mac80211/util.c                                |   13 +-
 34 files changed, 400 insertions(+), 225 deletions(-)


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2013-02-06 21:30 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-29 23:47 [PATCH 0/7] Improvements to software scanning Seth Forshee
2013-01-29 23:47 ` [PATCH 1/7] mac80211: Return a status for tx operations Seth Forshee
2013-01-29 23:47 ` [PATCH 2/7] mac80211: Fix tx queue handling during scans Seth Forshee
2013-01-31 15:14   ` Johannes Berg
2013-01-31 16:14     ` Seth Forshee
2013-01-29 23:47 ` [PATCH 3/7] mac80211: Improve error handling for off-channel operation Seth Forshee
2013-01-31 15:15   ` Johannes Berg
2013-01-31 16:17     ` Seth Forshee
2013-01-29 23:47 ` [PATCH 4/7] mac80211: Add flushes before going off-channel Seth Forshee
2013-01-29 23:47 ` [PATCH 5/7] mac80211: Expand powersave configuration flag to be two bits Seth Forshee
2013-01-29 23:47   ` [ath9k-devel] " Seth Forshee
2013-01-31 15:20   ` Johannes Berg
2013-01-31 15:20     ` [ath9k-devel] " Johannes Berg
2013-01-31 16:33     ` Seth Forshee
2013-01-31 16:33       ` [ath9k-devel] " Seth Forshee
2013-01-31 16:53       ` Johannes Berg
2013-01-31 16:53         ` [ath9k-devel] " Johannes Berg
2013-01-31 17:18         ` Seth Forshee
2013-01-31 17:18           ` [ath9k-devel] " Seth Forshee
2013-01-31 17:50           ` Johannes Berg
2013-01-31 17:50             ` [ath9k-devel] " Johannes Berg
2013-02-05 22:51             ` Seth Forshee
2013-02-05 22:51               ` [ath9k-devel] " Seth Forshee
2013-02-06 16:48               ` Johannes Berg
2013-02-06 16:48                 ` [ath9k-devel] " Johannes Berg
2013-02-06 17:09                 ` Seth Forshee
2013-02-06 17:09                   ` [ath9k-devel] " Seth Forshee
2013-02-06 17:44                   ` Johannes Berg
2013-02-06 17:44                     ` [ath9k-devel] " Johannes Berg
2013-02-06 18:02                     ` Seth Forshee
2013-02-06 18:02                       ` [ath9k-devel] " Seth Forshee
2013-02-06 21:30                       ` Johannes Berg
2013-02-06 21:30                         ` [ath9k-devel] " Johannes Berg
2013-01-29 23:47 ` [PATCH 6/7] mac80211: Add off-channel powersave state Seth Forshee
2013-01-29 23:47 ` [PATCH 7/7] brcmsmac: Add support for off-channel powersave Seth Forshee
2013-01-29 23:56   ` Julian Calaby
2013-01-30  5:28     ` Seth Forshee
2013-01-30 19:34 ` [PATCH 0/7] Improvements to software scanning John W. Linville
2013-01-30 21:27 ` Arend van Spriel
2013-01-30 21:53   ` Seth Forshee
2013-01-31 15:04 ` Johannes Berg
2013-01-31 15:08   ` Johannes Berg
2013-01-31 16:02     ` Seth Forshee
2013-01-31 15:48   ` Seth Forshee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.