#
054c5ddf |
| 15-Jan-2025 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: add IEEE80211_IS_LOCKED()
When trying to sort out a teardown locking problem (downcall in the driver can sleep) I found that the fan-out tree was getting too big to fix net80211 locking pe
net80211: add IEEE80211_IS_LOCKED()
When trying to sort out a teardown locking problem (downcall in the driver can sleep) I found that the fan-out tree was getting too big to fix net80211 locking per-se for this while working on entirely different problems. Add IEEE80211_IS_LOCKED() so the driver can check and un-/re-lock as necessary (as we do in other cases already) to avoid panics on debug kernels left and right.
Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48475
show more ...
|
Revision tags: release/14.2.0, release/13.4.0, release/14.1.0 |
|
#
dcf6ab2f |
| 22-Apr-2024 |
Adrian Chadd <adrian@FreeBSD.org> |
net80211: allow a single wlan crypto module to register for >1 cipher
This allows a single wlan crypto module to register for more than one cipher. Without it, duplicate linkerset structs are initi
net80211: allow a single wlan crypto module to register for >1 cipher
This allows a single wlan crypto module to register for more than one cipher. Without it, duplicate linkerset structs are initialised for the actual module loading machinery itself.
I've tested this in my private tree with wlan_ccmp providing both 128 and 256 bit cipher support.
Differential Revision: https://reviews.freebsd.org/D44901 Reviewed by: bz, cc, cy Approved by: bz, cc, cy
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0 |
|
#
af7d9f8e |
| 18-Mar-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: prefix get_random_bytes() with net80211_
Both linux/random.h and net80211 have a function named get_random_bytes(). With overlapping files included these collide. Arguably the function co
net80211: prefix get_random_bytes() with net80211_
Both linux/random.h and net80211 have a function named get_random_bytes(). With overlapping files included these collide. Arguably the function could be renamed in linuxkpi but the generic name should also not be used in net80211 so rename it there.
Sponsored-by: The FreeBSD Foundation MFC-after: 2 weeks Reviewed-by: philip, adrian Differential Revision: https://reviews.freebsd.org/D29335
show more ...
|
Revision tags: release/12.2.0 |
|
#
01e57940 |
| 18-Oct-2020 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
net80211: factor out the priv(9) checks into OS specifc code.
Factor out the priv(9) checks into OS specifc code so other OSes can equally implement them. This sorts out those XXX in the net80211 c
net80211: factor out the priv(9) checks into OS specifc code.
Factor out the priv(9) checks into OS specifc code so other OSes can equally implement them. This sorts out those XXX in the net80211 code. We provide 3 arguments (cmd, vap, ifp) where available to the functions, in order to allow other OSes to use that data but also in case we'd add auditing to these check to have the information available. For now the arguments are marked __unused.
PR: 249403 Reported by: martin(NetBSD) Reviewed by: adrian, martin(NetBSD) MFC after: 10 days Sponsored by: Rubicon Communications, LLC (d/b/a "Netgate") Differential Revision: https://reviews.freebsd.org/D26541
show more ...
|
#
662c1305 |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
net: clean up empty lines in .c and .h files
|
#
8bc0d2b8 |
| 13-Jun-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Fix !DEBUGNET build after r362138
X-MFC-With: r362138
|
#
479ab044 |
| 13-Jun-2020 |
Conrad Meyer <cem@FreeBSD.org> |
net80211: Add framework for debugnet(4) support
Allow net80211 drivers to register a small vtable of debugnet-related methods.
This is not a functional change. Driver support is needed, similar to
net80211: Add framework for debugnet(4) support
Allow net80211 drivers to register a small vtable of debugnet-related methods.
This is not a functional change. Driver support is needed, similar to debugnet(4) for wired NICs.
Reviewed by: adrian, markj (earlier version both) Differential Revision: https://reviews.freebsd.org/D17308
show more ...
|
Revision tags: release/11.4.0 |
|
#
24a366af |
| 07-Jun-2020 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] Add a method to return the vap's ifname.
This removes the requirement to know what's in the ifp.
(If someone wants a quick clean-up task, it'd be nice to convert instances of ifp derefer
[net80211] Add a method to return the vap's ifname.
This removes the requirement to know what's in the ifp.
(If someone wants a quick clean-up task, it'd be nice to convert instances of ifp dereferencing for if_xname over to this method.)
show more ...
|
#
67a26c98 |
| 27-May-2020 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] Fix interrupted scan logic and ticks comparison
The scan task refactoring stuff circa 2014-2016 broke the blocking task into a taskqueue with some async bits, but it apparently broke sca
[net80211] Fix interrupted scan logic and ticks comparison
The scan task refactoring stuff circa 2014-2016 broke the blocking task into a taskqueue with some async bits, but it apparently broke scans being interrupted by traffic.
Notably - the new "field" SCAN_PAUSE sets both SCAN_INTERRUPT and SCAN_CANCEL, and a bunch of existing code was checking for SCAN_CANCEL only and breaking the scan. Unfortunately it was then (a) cancelling the scan entirely and (b) not notifying userland that scan was done.
So: * Update the calls to scan_end() to only pass in 1 (saying the scan is complete) if SCAN_CANCEL is set WITHOUT SCAN_INTERRUPT. If both are set then yes, the scan is interrupted, but it isn't canceled - it's just paused. * Update the "did the scan flags change whilst the driver was called" logic to check for canceled scans, not interrupted scans. * The "scan done" logic now explicitly checks for either interrupted or completed scans. This accounts for the situation where a scan is being aborted via traffic but it ALSO happens to have finished (ie the last channel was checked.)
This doesn't ENTIRELY fix scanning as the resume function is broken due to incorrect ticks math. Thus, the second half of this patch changes the ieee80211_ticks_*() macros to use int instead of long, matching the logic that the TCP code does with ticks and handles wrapping / negative ticks values. If cast to long then the wrapping math wouldn't work right (ie, if ticks was actually negative, ie, after the system has been up for a while.)
This allows contbgscan() to correctly calculate if a scan should continue based on ticks and ic->ic_lastdata .
Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D25031
show more ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
7e565c55 |
| 30-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343320 through r343570.
|
#
9df9e936 |
| 25-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
net80211: reuse TICKS_2_MSEC / MSEC_2_TICKS macros from sys/time.h
Replace in-place implementation with system-wide one; since it guarantees non-zero result drop all less-than-one checks from driver
net80211: reuse TICKS_2_MSEC / MSEC_2_TICKS macros from sys/time.h
Replace in-place implementation with system-wide one; since it guarantees non-zero result drop all less-than-one checks from drivers and net80211.
MFC after: 2 weeks
show more ...
|
#
88148a07 |
| 22-Jan-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r343202 through r343319.
|
#
dab61567 |
| 20-Jan-2019 |
Andriy Voskoboinyk <avos@FreeBSD.org> |
net80211: resolve ioctl <-> detach race for ieee80211com structure
Since r287197 ieee80211com is a part of drivers softc; as a result, after detach all pointers to it (iv_ic, ni_ic) are invalid. Mos
net80211: resolve ioctl <-> detach race for ieee80211com structure
Since r287197 ieee80211com is a part of drivers softc; as a result, after detach all pointers to it (iv_ic, ni_ic) are invalid. Most possible users (tasks, interrupt handlers) are blocked / removed when device is stopped; however, ioctl handlers were not tracked and may crash if ieee80211com structure is accessed.
Since ieee80211com pointer access from ieee80211vap structure is not protected by lock (constant after interface creation) and used in many other places just use reference counting for ioctl handlers; on detach set 'detached' flag and wait until reference counter goes to 0.
For HEAD ieee80211vap size was changed (__FreeBSD_version bumped); however, in stable branches I'm going to split / reuse the last iv_spare field for KBI stability.
Tested with: - rsu(4), SIOCSIFCAP (-rxcsum) ioctl; - rtwn_pci(4), SIOCG80211 / IEEE80211_IOC_HTPROTMODE ioctl.
MFC after: 1 week
show more ...
|
Revision tags: release/12.0.0, release/11.2.0 |
|
#
fe267a55 |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error pro
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
No functional change intended.
show more ...
|
Revision tags: release/10.4.0, release/11.1.0 |
|
#
6ae9acde |
| 23-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313896 through r314128.
|
#
617f8b10 |
| 20-Feb-2017 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] RX parameter shuffle in net80211 in preparation for 4x4 NICs and 160MHz channels.
* Migrate the rx_params stuff out from ieee80211_freebsd.h where it doesn't belong - this isn't freebsd
[net80211] RX parameter shuffle in net80211 in preparation for 4x4 NICs and 160MHz channels.
* Migrate the rx_params stuff out from ieee80211_freebsd.h where it doesn't belong - this isn't freebsd specific anymore.
* Don't use a hard-coded number of chains in the ioctl header; now we can shuffle MAX_CHAINS around so it can be used in the right spot.
* Extend the signal/noisefloor levels in the mimo stats struct to userland to include the signal and noisefloor levels for each 20MHz slice of a 160MHz channel.
* Bump the number of EVM pilots in preparation for 4x4 and 160MHz channels.
Tested:
* ath(4), STA mode * iwn(4), STA mode * local ath10k port, STA mode
TODO:
* 11ax chips will come with 5GHz 8x8 hardware for lots of MU-MIMO - I'll re-bump it at that point.
Note:
* This breaks the driver and ifconfig ABI; please recompile the kernel, ifconfig and wpa_supplicant/hostapd.
show more ...
|
#
1bde3b70 |
| 09-Dec-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r309519 through r309757.
|
#
4869f594 |
| 08-Dec-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] add a field for storing a 64 bit TSC.
|
#
36c8d0de |
| 08-Dec-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] begin fleshing out support for channel survey information to be pushed back up into net80211.
|
#
ba58946f |
| 07-Dec-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] flesh out more RX phy information.
I'm teaching my ath10k port to communicate up the per-rate / channel width information I get from the firmware.
The HT40 flag field should just be reti
[net80211] flesh out more RX phy information.
I'm teaching my ath10k port to communicate up the per-rate / channel width information I get from the firmware.
The HT40 flag field should just be retired and instead moved to use the PHY bandwidth field.
show more ...
|
#
02ebdc78 |
| 31-Oct-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r307736 through r308146.
|
#
d24ac5fb |
| 23-Oct-2016 |
Adrian Chadd <adrian@FreeBSD.org> |
[net80211] Add a variant on ieee80211_get_rx_params() that returns a pointer.
Be careful when calling this, as the underlying mbuf may change afterwards - common in the RX path.
|
#
5763f796 |
| 21-Oct-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r307383 through r307735.
|