freebsd-nq/sys
Adrian Chadd f52efb6d38 Fix a corner case in STA beacon processing when a CSA is received but
the AP doesn't transmit beacons.

If the AP requests a CSA (ie, a channel switch) and then enters CAC
(channel availability check) for 60 seconds, it doesn't send beacons
and it just listens for radar events (and other things which we don't
do yet.)

Now, ath_newstate() was not resetting the beacon timer config on
a transition to the RUN state when in STA mode - it was setting
sc_syncbeacon, which simply updates the beacon config from the
contents of the next received beacon.

This means the STA never generates beacon miss events.

If the AP goes into CAC for 60 seconds and recovers, the STA will
happily receive the first beacon and reconfigure timers.
But if it gets a radar event after that, it'll change channel
again, not notify the station that it's changed channel..
and since the station is happily waiting for the first beacon
to configure the beacon timer details from, it won't ever
generate a beacon miss interrupt and it'll sit there forever
(or until the AP appears on that channel once again.)

This change forces the last known beacon timer config to be
written to hardware on a transition from CSA->RUN in STA mode.
This forces bmiss events to occur and the STA will eventually
(after a handful of beacon miss events) begin scanning for
another access point.
2011-06-29 13:21:52 +00:00
..
amd64 We may split today's CAPABILITIES into CAPABILITY_MODE (which has 2011-06-29 13:03:05 +00:00
arm We may split today's CAPABILITIES into CAPABILITY_MODE (which has 2011-06-29 13:03:05 +00:00
boot Revert the entry point label to 'start' to unbreak the build. 2011-06-27 21:43:56 +00:00
bsm Add ECAPMODE, "Not permitted in capability mode", a new kernel errno 2011-03-01 13:14:28 +00:00
cam cam/scsi/scsi_cd.c: 2011-06-26 01:32:46 +00:00
cddl Add a new "REFCOMPRESSRATIO" property. 2011-06-28 07:52:01 +00:00
compat Return empty cmdline/environ string for processes with kernel address 2011-06-17 07:30:56 +00:00
conf We may split today's CAPABILITIES into CAPABILITY_MODE (which has 2011-06-29 13:03:05 +00:00
contrib Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
crypto Fix a bug in the result of manual assembly. 2011-03-02 14:56:58 +00:00
ddb Fix making kernel dumps from the debugger by creating a command 2011-06-07 01:28:12 +00:00
dev Fix a corner case in STA beacon processing when a CSA is received but 2011-06-29 13:21:52 +00:00
fs Fix the new NFSv4 client so that it doesn't fill the cached 2011-06-28 22:52:38 +00:00
gdb Modify kdb_trap() so that it re-calls the dbbe_trap function as long as 2011-02-18 22:25:11 +00:00
geom Initialize elements of state array when creating the GPT table. 2011-06-29 05:41:14 +00:00
gnu Fix typo in unused function name 2011-05-22 09:58:48 +00:00
i386 We may split today's CAPABILITIES into CAPABILITY_MODE (which has 2011-06-29 13:03:05 +00:00
ia64 Oops. The sec field of struct bintime is *not* a 32-bit type. 2011-06-25 17:58:35 +00:00
isa Move VT switching hack for suspend/resume from bus drivers to syscons.c 2011-05-09 18:46:49 +00:00
kern We may split today's CAPABILITIES into CAPABILITY_MODE (which has 2011-06-29 13:03:05 +00:00
kgssapi Fix the kgssapi so that it can be loaded as a module. Currently 2011-06-19 22:08:55 +00:00
libkern Fix typos - remove duplicate "is". 2011-02-23 09:22:33 +00:00
mips Remove duplicate header includes 2011-06-26 10:07:48 +00:00
modules Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
net Update ifc_len field of struct ifconf passed for the ioctl SIOCGIFCONF32 2011-06-28 08:41:44 +00:00
net80211 Print out a big warning if DFS can't find a channel to use. 2011-06-27 05:57:14 +00:00
netatalk
netgraph - Move all USB device ID arrays into so-called sections, 2011-06-24 02:30:02 +00:00
netinet Add new rule actions "call" and "return" to ipfw. They make 2011-06-29 10:06:58 +00:00
netinet6 Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
netipsec Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
netipx
netnatm
netncp
netsmb
nfs Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfsclient Fix the kgssapi so that it can be loaded as a module. Currently 2011-06-19 22:08:55 +00:00
nfsserver Fix the kgssapi so that it can be loaded as a module. Currently 2011-06-19 22:08:55 +00:00
nlm Add a lock flags argument to the VFS_FHTOVP() file system 2011-05-22 01:07:54 +00:00
ofed MFC 2011-05-27 16:09:10 +00:00
opencrypto After the r219999 is merged to stable/8, rename fallocf(9) to falloc(9) 2011-04-01 13:28:34 +00:00
pc98 - Reduce diffs against i386. 2011-06-13 13:24:33 +00:00
pci Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
powerpc Add better error handling for RTAS calls. These can potentially cause 2011-06-26 16:11:36 +00:00
rpc Fix the kgssapi so that it can be loaded as a module. Currently 2011-06-19 22:08:55 +00:00
security - Add a FEATURE for capsicum (security_capabilities). 2011-03-04 09:03:54 +00:00
sparc64 Fix whitespace 2011-06-21 20:50:55 +00:00
sys add SNDCTL_DSP_HALT specified by OSS 2011-06-29 08:32:37 +00:00
teken Fix various whitespace inconsistencies in sys/teken. 2011-06-26 18:25:10 +00:00
tools GNU awk does not output escaped newlines in multi-line printc statements. This 2011-03-31 21:33:33 +00:00
ufs - Fix directory count rollbacks by passing the mode to the journal dep 2011-06-20 03:25:09 +00:00
vm Revert to using the page queues lock in vm_page_clear_dirty_mask() on 2011-06-23 05:23:59 +00:00
x86 Move {amd64,i386}/pci/pci_bus.c and {amd64,i386}/include/pci_cfgreg.h to 2011-06-22 21:04:13 +00:00
xdr
xen Monitor and emit events for XenStore changes to XenBus trees 2011-06-11 04:59:01 +00:00
Makefile Include sys/xen in cscope tag file generation. 2011-06-10 20:51:41 +00:00