<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/rtwn, branch release/13.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F13.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F13.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-06-12T22:18:50Z</updated>
<entry>
<title>net80211: move net_epoch into net80211</title>
<updated>2024-06-12T22:18:50Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2023-10-29T14:25:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f9ac06af3b2dec6ac75f5639cb1396f9d943fc06'/>
<id>urn:sha1:f9ac06af3b2dec6ac75f5639cb1396f9d943fc06</id>
<content type='text'>
Move the net_epoch into net80211 around the if_input calls and out of
the driver (in this first case LinuxKPI).  This reduces coverage but
also allows us to alloc in calls like (*ampdu_rx_start) which do not
actually pass data up the stack.

The follow-up commits (squashed) reverts:
b65f813c1ab99448278961c5ca80dc422b1eae29
  Revert "Widen EPOCH(9) usage in PCI WLAN drivers.",
21c4082de9e2cf9a0fd81a9a981ab06022956847
  Revert "Widen EPOCH(9) usage in USB WLAN drivers.",
17c328b6aebfa03cd1c2cbfbbc617e3b341bf1e4
  Revert "Enter the network epoch in USB WiFi drivers when processing input",
af2441fbc7fa9e522e7f8697e5a181bdd4ff9e00
  Revert "[ath] Attempt to fix epoch handling.",
and 6c3e93cb5a4aa4b8a2d8d4d326f2a7c34d3a4458 for if_ath.c only
  ath: Revert "Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process".

Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D42427

(cherry picked from commit de607e3c230be88f6232b9c9fd6c37199648dc8c)
(cherry picked from commit 1c6dd33d26eb02c6145383a49150965eeca61120)
(cherry picked from commit 39b702797994fbd62a21dd3af6d4cd7045fded23)
(cherry picked from commit 75f298492a12d53df97c26963ec9f2dc0b052878)
(cherry picked from commit eb3821e6d92fa45ece7ec08efde45e35be1bdc95)
(cherry picked from commit 82506f26c03aa312b91e01a797f31e061749a76d)
</content>
</entry>
<entry>
<title>net80211: deal with lost state transitions</title>
<updated>2024-02-19T08:02:01Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2024-01-10T10:14:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a7e1fc7f620d3341549c1380f550aaafbdb45622'/>
<id>urn:sha1:a7e1fc7f620d3341549c1380f550aaafbdb45622</id>
<content type='text'>
Since 5efea30f039c4 we can possibly lose a state transition which can
cause trouble further down the road.
The reproducer from 643d6dce6c1e can trigger these for example.
Drivers for firmware based wireless cards have worked around some of
this (and other) problems in the past.

Add an array of tasks rather than a single one as we would simply
get npending &gt; 1 and lose order with other tasks.  Try to keep state
changes updated as queued in case we end up with more than one at a
time.  While this is not ideal either (call it a hack) it will sort
the problem for now.
We will queue in ieee80211_new_state_locked() and do checks there
and dequeue in ieee80211_newstate_cb().
If we still overrun the (currently) 8 slots we will drop the state
change rather than overwrite the last one.
When dequeing we will update iv_nstate and keep it around for historic
reasons for the moment.

The longer term we should make the callers of
ieee80211_new_state[_locked]() actually use the returned errors
and act appropriately but that will touch a lot more places and
drivers (possibly incl. changed behaviour for ioctls).

rtwn(4) and rum(4) should probably be revisted and net80211 internals
removed (for rum(4) at least the current logic still seems prone to
races).

PR:		271979, 271988, 275255, 263613, 274003
Sponsored by:	The FreeBSD Foundation (in 2023)
Reviewed by:	cc
Differential Revision: https://reviews.freebsd.org/D43389

(cherry picked from commit 713db49d06deee90dd358b2e4b9ca05368a5eaf6)

Given this changes the internal structure of 'struct ieee80211vap',
which gets allocated by the drivers, and we do not have enough
spares, all wireless drivers need to be recompiled.
Given we are forced to do the update, we leave fields in the middle
of the struct and add more spares at the same time.
__FreeBSD_version gets updated to 1303501 to be able to detect
this change.

(cherry picked from commit a890a3a5ddf33acb0a4000885945b89156799b07)
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: one-line .c pattern</title>
<updated>2023-08-23T17:43:25Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-22T01:31:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3bc80996974a61a4223eae4c1ccd47b6ee32a48a'/>
<id>urn:sha1:3bc80996974a61a4223eae4c1ccd47b6ee32a48a</id>
<content type='text'>
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/

Similar commit in current:
(cherry picked from commit 685dc743dc3b)
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: one-line .h pattern</title>
<updated>2023-08-23T17:43:22Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-22T01:31:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4b40a16f0d188422227478889b38cc341d50f88f'/>
<id>urn:sha1:4b40a16f0d188422227478889b38cc341d50f88f</id>
<content type='text'>
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/

Similar commit in current:
(cherry picked from commit 2ff63af9b88c)
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-23T17:43:20Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-22T01:31:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f8167e0404dab9ffeaca95853dd237ab7c587f82'/>
<id>urn:sha1:f8167e0404dab9ffeaca95853dd237ab7c587f82</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/

Similar commit in current:
(cherry picked from commit 95ee2897e98f)
</content>
</entry>
<entry>
<title>rtwn: Fix mismatches in array bounds.</title>
<updated>2023-05-03T00:24:05Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2022-12-07T20:33:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1ef1b088c8c8b3809e8ba808781f77c7258e6936'/>
<id>urn:sha1:1ef1b088c8c8b3809e8ba808781f77c7258e6936</id>
<content type='text'>
Reported by:	GCC -Warray-parameter
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D37550

(cherry picked from commit 8bc615f5919f027cdf09825764276ab41a38375e)
</content>
</entry>
<entry>
<title>rtwn: Restore RF_ENV control type after initializing RF.</title>
<updated>2022-05-13T17:44:10Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2022-04-08T00:01:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6aca4e6127e34b0994d3c945af8634fba3aaee40'/>
<id>urn:sha1:6aca4e6127e34b0994d3c945af8634fba3aaee40</id>
<content type='text'>
Both rwlwifi in Linux and rtwn in OpenBSD restore this register,
and the existing code was saving the value and not using it.

Reported by:	-Wunused-but-set-variable
Reviewed by:	imp
Obtained from:	OpenBSD
Differential Revision:	https://reviews.freebsd.org/D34838

(cherry picked from commit 50e3b6aa480b34e6eb87530d307db7ceba591a17)
</content>
</entry>
<entry>
<title>rtwn(4): Add new USB ID.</title>
<updated>2022-02-10T15:11:07Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-01-11T20:18:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a8727a0b32c213826aeafb995824cad21fe81a65'/>
<id>urn:sha1:a8727a0b32c213826aeafb995824cad21fe81a65</id>
<content type='text'>
Submitted by:	Wensi &lt;supdrewin@outlook.com&gt;
PR:		261098
Sponsored by:	NVIDIA Networking

(cherry picked from commit 75d20a5e386c9f15043600b1b2d7041eb64d0e99)
</content>
</entry>
<entry>
<title>rtwn(4): Add new USB ID.</title>
<updated>2022-02-10T15:10:57Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2022-01-07T13:00:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=08a56bb43c0b7160b71411ae02ecc3e6db811dbc'/>
<id>urn:sha1:08a56bb43c0b7160b71411ae02ecc3e6db811dbc</id>
<content type='text'>
Submitted by:	arved@
PR:		260952
Sponsored by:	NVIDIA Networking

(cherry picked from commit 2891a2805289dc4fe221eb4901b9edb6f9559dd8)
</content>
</entry>
<entry>
<title>rtwn/usb: add product ID for Asus USB N10 Nano Rev. B1</title>
<updated>2021-12-13T06:35:49Z</updated>
<author>
<name>Andreas Wetzel</name>
<email>mickey242@gmx.net</email>
</author>
<published>2021-12-06T07:21:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=99e934e6f152eefa47bfae62db2ee0b439f137c0'/>
<id>urn:sha1:99e934e6f152eefa47bfae62db2ee0b439f137c0</id>
<content type='text'>
According to information found on the internet the following products
use exactly the same hardware but probably different USB IDs:
- Edimax EW-7811Un V2 (v2)
- Edimax EW-7811GLN 2.0A (v2)
I am not adding them as I cannot verify.

PR:		254280

(cherry picked from commit cd6f0b47692cb004b1e52a28cbd853f251b99c93)
</content>
</entry>
</feed>
