FreeBSD src
Go to file
Adrian Chadd bed90bf8ed [ath_hal] Add get/set NAV functions
The NAV (network allocation vector) register reflects the current MAC
tracking of NAV - when it will stay quiet before transmitting.

Other devices transmit their frame durations in their 802.11 PHY headers
and all devices that hear a frame - even if it's one in an encoding
they don't understand - will understand the low bitrate PHY header that
includes the frame duration.  So, they'll set NAV to this value so
they'll stay quiet until the transmit completes.

Anyway, sometimes the PHY NAV header is garbled and sometimes, notably
older broadcom devices, will fake a long NAV so they can get "cleaner" air
for local calibration.  When this happens, the hardware will stay quiet
for quite some time and this can lead to missed/stuck beacons, or
(for Very Large Values) a MAC hang.

This code just adds the ability to get/set the NAV; the driver will
need to take care of using it during transmit hangs and beacon misses
to see if it's due to a trash looking NAV.
2021-04-18 22:52:31 -07:00
.github/workflows GitHub actions: unbreak macOS build 2021-01-08 15:36:38 +01:00
bin sh: fix debug build 2021-04-11 09:23:14 +02:00
cddl dtrace: Document the libdir, nolibs and syslibdir options 2021-04-02 17:42:38 -04:00
contrib less: upgrade to v581. 2021-04-18 19:46:19 -07:00
crypto OpenSSL: Merge OpenSSL 1.1.1k 2021-03-25 11:45:19 -04:00
etc base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
gnu dialog: fix macro redefinition 2021-03-01 16:01:44 +01:00
include Fix build with WITHOUT_AUDIT=yes in src.conf 2021-04-15 14:11:13 +02:00
kerberos5 kerberos5: fix the WITH_OPENLDAP build 2021-01-30 00:07:50 -06:00
lib getprogname.3: Add an example 2021-04-18 10:20:11 +02:00
libexec rc: replace NETWORK with NETWORKING 2021-04-12 15:28:48 +01:00
release release: move installworld before installkernel 2021-04-05 13:16:01 -04:00
rescue ping: add a ping6 hard link for backwards compatibility 2020-11-26 18:33:04 +00:00
sbin Explain the newfs naming convention 2021-04-17 23:16:17 +02:00
secure caroot: reroll the remaining certs 2021-04-13 16:59:34 -05:00
share c.7: Describe more recent C standards 2021-04-18 16:36:13 +02:00
stand Fix build of stand/usb . 2021-04-12 16:13:33 +02:00
sys [ath_hal] Add get/set NAV functions 2021-04-18 22:52:31 -07:00
targets Remove kgmon(8) 2021-04-04 00:50:28 +03:00
tests Add some regression tests for O_PATH and AT_EMPTY_PATH 2021-04-15 09:40:57 -04:00
tools stress2: Added a syzkaller reproducer. A variation of syzkaller32.sh 2021-04-18 07:19:07 +02:00
usr.bin less: upgrade to v581. 2021-04-18 19:46:19 -07:00
usr.sbin bhyve.8: Fix mandoc -Tlint issues 2021-04-19 02:16:14 +02:00
.arcconfig Remove history.immutable from .arcconfig 2021-04-13 12:36:25 +01:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml Cirrus-CI: Add more information to help track down disk full issues 2021-03-03 11:51:08 -05:00
.clang-format clang-format: Avoid breaking after the opening paren of function definitions 2020-10-28 11:54:00 +00:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore Update vendor/openzfs to openzfs/zfs/master@3522f57b6 2021-04-14 08:03:07 +02:00
COPYRIGHT copyrights: Happy New Year 2021 2020-12-31 10:29:44 -05:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS Add a pointer to csprng@ for the CSPRNG driver. This is enforced anyway by 2020-09-01 08:02:12 +00:00
Makefile Fix 'make bmake' top-level bootstrapping. 2021-03-06 09:45:08 -08:00
Makefile.inc1 Makefile.inc1: unbreak bootstrap when kbdcontrol does not exist 2021-03-23 20:47:14 -04:00
Makefile.libcompat libcompat: remove redundant path for ncurses 2021-01-07 15:14:52 +01:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc Remove reference to the pfctlinput2() from domain(9) after 237c1f932b. 2021-04-14 00:40:20 +03:00
README.md Update capsicum-test to ea66424d921bb393539b298c108a46edee5c3051 2021-04-12 11:25:49 -04:00
RELNOTES Spellcheck. 2021-04-12 15:12:19 -07:00
UPDATING Remove extra space at start of file. 2021-04-16 15:14:29 -06:00

FreeBSD Source:

This is the top level of the FreeBSD source directory.

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.

Source Roadmap:

Directory Description
bin System/user commands.
cddl Various commands and libraries under the Common Development and Distribution License.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff (see crypto/README).
etc Template files for /etc.
gnu Various commands and libraries under the GNU Public License. Please see gnu/COPYING and gnu/COPYING.LIB for more information.
include System include files.
kerberos5 Kerberos5 (Heimdal) package.
lib System libraries.
libexec System daemons.
release Release building Makefile & associated tools.
rescue Build system for statically linked /rescue utilities.
sbin System commands.
secure Cryptographic libraries and commands.
share Shared resources.
stand Boot loader sources.
sys Kernel sources.
sys/arch/conf Kernel configuration files. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries.
tests Regression tests which can be run by Kyua. See tests/README for additional information.
tools Utilities for regression testing and miscellaneous tasks.
usr.bin User commands.
usr.sbin System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.