<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/wpi, branch stable/13</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>net80211: move net_epoch into net80211</title>
<updated>2024-06-12T22:18:50+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2023-10-29T14:25:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f9ac06af3b2dec6ac75f5639cb1396f9d943fc06'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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)
</pre>
</div>
</content>
</entry>
<entry>
<title>net80211 / drivers: remove public use of ieee80211_node_incref()</title>
<updated>2023-11-29T16:36:10+00:00</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2023-10-02T14:44:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=357d45eefc9b0ab6c30afb5a364ab0cb66b905c1'/>
<id>357d45eefc9b0ab6c30afb5a364ab0cb66b905c1</id>
<content type='text'>
ieee80211_node_incref() is the FreeBSD implementation of
ieee80211_ref_node().  Not being interested in the node returned
it was used as a shortcut in 3 drivers (ath, uath, wpi).
Replace the call with the public KPI of ieee80211_ref_node() and
ignore the result.
This leaves us with the single internal call going
ieee80211_ref_node() -&gt; ieee80211_node_incref() and that should
help increasing portability but also limiting the places to trace
for node reference operations.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit f156cd892b55c04a39fa06d1899e6e316de77f03)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ieee80211_node_incref() is the FreeBSD implementation of
ieee80211_ref_node().  Not being interested in the node returned
it was used as a shortcut in 3 drivers (ath, uath, wpi).
Replace the call with the public KPI of ieee80211_ref_node() and
ignore the result.
This leaves us with the single internal call going
ieee80211_ref_node() -&gt; ieee80211_node_incref() and that should
help increasing portability but also limiting the places to trace
for node reference operations.

Sponsored by:	The FreeBSD Foundation

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

Similar commit in current:
(cherry picked from commit 685dc743dc3b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/

Similar commit in current:
(cherry picked from commit 685dc743dc3b)
</pre>
</div>
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: one-line .c comment pattern</title>
<updated>2023-08-23T17:43:22+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-22T01:31:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4fbf14e22d7b83de7080a8e491ba14a5785a0ff4'/>
<id>4fbf14e22d7b83de7080a8e491ba14a5785a0ff4</id>
<content type='text'>
Remove /^/[*/]\s*\$FreeBSD\$.*\n/

Similar commit in current:
(cherry picked from commit 71625ec9ad2a)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^/[*/]\s*\$FreeBSD\$.*\n/

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

Similar commit in current:
(cherry picked from commit 95ee2897e98f)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/

Similar commit in current:
(cherry picked from commit 95ee2897e98f)
</pre>
</div>
</content>
</entry>
<entry>
<title>Use bool for one-bit wide bit-fields</title>
<updated>2023-04-29T07:23:25+00:00</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2023-04-25T17:18:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1150a69dbdf1d92fb28f7b775cf55aa75d2272f7'/>
<id>1150a69dbdf1d92fb28f7b775cf55aa75d2272f7</id>
<content type='text'>
A signed one-bit wide bit-field can take only the values 0 and -1. Clang
16 introduced a warning that "implicit truncation from 'int' to a
one-bit wide bit-field changes value from 1 to -1". Fix the warnings by
using C99 bool.

Reported by:	Clang 16
Reviewed by:	emaste, jhb
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D39705

(cherry picked from commit bab8274c090942cf96c44bc001307b9bffac9d7e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A signed one-bit wide bit-field can take only the values 0 and -1. Clang
16 introduced a warning that "implicit truncation from 'int' to a
one-bit wide bit-field changes value from 1 to -1". Fix the warnings by
using C99 bool.

Reported by:	Clang 16
Reviewed by:	emaste, jhb
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D39705

(cherry picked from commit bab8274c090942cf96c44bc001307b9bffac9d7e)
</pre>
</div>
</content>
</entry>
<entry>
<title>wpi: Fix a lock leak in an error path in wpi_run()</title>
<updated>2021-09-17T13:13:44+00:00</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-09-10T14:03:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=476f87219f408343846254743c7189076be80c04'/>
<id>476f87219f408343846254743c7189076be80c04</id>
<content type='text'>
PR:		258243
Reported by:	dinghao.liu@zju.edu.cn

(cherry picked from commit 6d042d7c861a8fffd1784c720720c3b89c7c0883)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PR:		258243
Reported by:	dinghao.liu@zju.edu.cn

(cherry picked from commit 6d042d7c861a8fffd1784c720720c3b89c7c0883)
</pre>
</div>
</content>
</entry>
<entry>
<title>wpi: clean up empty lines in .c and .h files</title>
<updated>2020-09-01T21:46:27+00:00</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-09-01T21:46:27+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=391a27c41db023743ffff8feb9140fe90bef8f1e'/>
<id>391a27c41db023743ffff8feb9140fe90bef8f1e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Widen EPOCH(9) usage in PCI WLAN drivers.</title>
<updated>2020-01-30T10:28:01+00:00</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2020-01-30T10:28:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b65f813c1ab99448278961c5ca80dc422b1eae29'/>
<id>b65f813c1ab99448278961c5ca80dc422b1eae29</id>
<content type='text'>
Make sure all occurrences of ieee80211_input_xxx() in sys/dev are
covered by a network epoch section. Do not depend on the interrupt
handler nor any taskqueues being in a network epoch section.

This patch should unbreak the PCI WLAN drivers after r357004.

Pointy hat:	glebius@
Sponsored by:	Mellanox Technologies
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure all occurrences of ieee80211_input_xxx() in sys/dev are
covered by a network epoch section. Do not depend on the interrupt
handler nor any taskqueues being in a network epoch section.

This patch should unbreak the PCI WLAN drivers after r357004.

Pointy hat:	glebius@
Sponsored by:	Mellanox Technologies
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix ieee80211_radiotap(9) usage in wireless drivers:</title>
<updated>2019-03-11T01:27:01+00:00</updated>
<author>
<name>Andriy Voskoboinyk</name>
<email>avos@FreeBSD.org</email>
</author>
<published>2019-03-11T01:27:01+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=786ac7035f938bf3764ec6d5ee2f0e50b5d959b6'/>
<id>786ac7035f938bf3764ec6d5ee2f0e50b5d959b6</id>
<content type='text'>
- Alignment issues:
 * Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
 * Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after:	2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Alignment issues:
 * Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
 * Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after:	2 weeks
</pre>
</div>
</content>
</entry>
</feed>
