mac80211: implement basic background scanning
authorHelmut Schaa <helmut.schaa@googlemail.com>
Thu, 23 Jul 2009 11:18:01 +0000 (13:18 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Jul 2009 19:24:17 +0000 (15:24 -0400)
commit142b9f5074dc0d09dc0025739ad437723d7bf527
tree07173ed0ffae8956c1f8938bc41695b1d19cebb0
parentfbe9c429f195111bbf7f1630efa19aee295fd8e7
mac80211: implement basic background scanning

Introduce a new scan flag "SCAN_OFF_CHANNEL" which basically tells us
that we are currently on a different channel for scanning and cannot
RX/TX. "SCAN_SW_SCANNING" tells us that we are currently running a
software scan but we might as well be on the operating channel to RX/TX.
While "SCAN_SW_SCANNING" is set during the whole scan "SCAN_OFF_CHANNEL"
is set when leaving the operating channel and unset when coming back.

Introduce two new scan states "SCAN_LEAVE_OPER_CHANNEL" and
"SCAN_ENTER_OPER_CHANNEL" which basically implement the functionality we
need to leave the operating channel (send a nullfunc to the AP and stop
the queues) and enter it again (send a nullfunc to the AP and start the
queues again).

Enhance the scan state "SCAN_DECISION" to switch back to the operating
channel after each scanned channel. In the future it sould be simple
to enhance the decision state to scan as much channels in a row as the
qos latency allows us.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/ieee80211_i.h
net/mac80211/rx.c
net/mac80211/scan.c
net/mac80211/tx.c