History log of /openbsd/sys/dev/ic/bwi.c (Results 1 – 25 of 135)
Revision Date Author Comments
# 3b9d585e 13-Apr-2024 jsg <jsg@openbsd.org>

correct indentation

no functional change, found by smatch warnings
ok miod@ bluhm@


# cf96265b 10-Nov-2023 bluhm <bluhm@openbsd.org>

Make ifq and ifiq interface MP safe.

Rename ifq_set_maxlen() to ifq_init_maxlen(). This function neither
uses WRITE_ONCE() nor a mutex and is called before the ifq mutex
is initialized. The new na

Make ifq and ifiq interface MP safe.

Rename ifq_set_maxlen() to ifq_init_maxlen(). This function neither
uses WRITE_ONCE() nor a mutex and is called before the ifq mutex
is initialized. The new name expresses that it should be used only
during interface attach when there is no concurrency.

Protect ifq_len(), ifq_empty(), ifiq_len(), and ifiq_empty() with
READ_ONCE(). They can be used without lock as they only read a
single integer.

OK dlg@

show more ...


# 52a13037 21-Apr-2022 stsp <stsp@openbsd.org>

Use memset() to initialize struct ieee80211_rxinfo properly.

Sven Wolf noticed that scans on ral(4) are buggy ever since I added a new
field to this struct. Turns out a lot of drivers were initializ

Use memset() to initialize struct ieee80211_rxinfo properly.

Sven Wolf noticed that scans on ral(4) are buggy ever since I added a new
field to this struct. Turns out a lot of drivers were initializing fields
one-by-one, leaving any newly added fields uninitialized by default.

Affected drivers may report wrong channel numbers for received beacons.
The net80211 stack will discard such beacons, assuming they were received
on the wrong channel due to signal leakage. Scanning is broken as result.

ok miod@

show more ...


# 4b1a56af 09-Jan-2022 jsg <jsg@openbsd.org>

spelling
feedback and ok tb@ jmc@ ok ratchov@


# 4123b6a7 16-May-2021 deraadt <deraadt@openbsd.org>

panic does not require a \n at the end. When one is provided, it looks wrong.


# 0cae21bd 10-Jul-2020 patrick <patrick@openbsd.org>

Change users of IFQ_SET_MAXLEN() and IFQ_IS_EMPTY() to use the "new" API.

ok dlg@ tobhe@


# 63bcfa73 10-Jul-2020 patrick <patrick@openbsd.org>

Change users of IFQ_DEQUEUE(), IFQ_ENQUEUE() and IFQ_LEN() to use the
"new" API.

ok dlg@ tobhe@


# 8fbaf8a2 12-Sep-2019 stsp <stsp@openbsd.org>

Make wireless drivers call if_input() only once per interrupt.

This reduces drops caused by the ifq pressure drop mechanism and hence
increases throughput. Such drops are visible with e.g. 'netstat

Make wireless drivers call if_input() only once per interrupt.

This reduces drops caused by the ifq pressure drop mechanism and hence
increases throughput. Such drops are visible with e.g. 'netstat -dnI iwm0'.

Not all affected drivers have been tested yet but these changes are largely
mechanical and should be safe. As usual, please report any regressions.

With help from dlg@ and mpi@

Problem found by robert@
Tested by robert, jmc, Tracey Emer, Matthias Schmidt, florian, Björn Ketelaars
ok mpi@

show more ...


# c37a468c 26-Oct-2017 mpi <mpi@openbsd.org>

Move common code to add/remove multicast filters to ieee80211_ioctl(9).

ok jsg@, stsp@


# b27348b2 08-Sep-2017 deraadt <deraadt@openbsd.org>

If you use sys/param.h, you don't need sys/types.h


# 8443256d 03-Jul-2017 kevlo <kevlo@openbsd.org>

Replace slot time durations with macros.

ok stsp@


# 88a08f2a 22-Jan-2017 dlg <dlg@openbsd.org>

move counting if_opackets next to counting if_obytes in if_enqueue.

this means packets are consistently counted in one place, unlike the
many and various ways that drivers thought they should do it.

move counting if_opackets next to counting if_obytes in if_enqueue.

this means packets are consistently counted in one place, unlike the
many and various ways that drivers thought they should do it.

ok mpi@ deraadt@

show more ...


# 1e1858b6 13-Apr-2016 mpi <mpi@openbsd.org>

G/C IFQ_SET_READY().


# de6cd8fb 25-Nov-2015 dlg <dlg@openbsd.org>

replace IFF_OACTIVE manipulation with mpsafe operations.

there are two things shared between the network stack and drivers
in the send path: the send queue and the IFF_OACTIVE flag. the send
queue i

replace IFF_OACTIVE manipulation with mpsafe operations.

there are two things shared between the network stack and drivers
in the send path: the send queue and the IFF_OACTIVE flag. the send
queue is now protected by a mutex. this diff makes the oactive
functionality mpsafe too.

IFF_OACTIVE is part of if_flags. there are two problems with that.
firstly, if_flags is a short and we dont have any MI atomic operations
to manipulate a short. secondly, while we could make the IFF_OACTIVE
operates mpsafe, all changes to other flags would have to be made
safe at the same time, otherwise a read-modify-write cycle on their
updates could clobber the oactive change.

instead, this moves the oactive mark into struct ifqueue and provides
an API for changing it. there's ifq_set_oactive, ifq_clr_oactive,
and ifq_is_oactive. these are modelled on ifsq_set_oactive,
ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd.

this diff includes changes to all the drivers manipulating IFF_OACTIVE
to now use the ifsq_{set,clr_is}_oactive API too.

ok kettenis@ mpi@ jmatthew@ deraadt@

show more ...


# 5f241aa2 12-Nov-2015 dlg <dlg@openbsd.org>

two newlines in the middle of a func doenst look right.


# 6eb89ff9 11-Nov-2015 mpi <mpi@openbsd.org>

Kill useless IFQ_POLL().

ok dlg@


# 351e1934 04-Nov-2015 dlg <dlg@openbsd.org>

replace the ifqueues in net80211 with mbuf_queues.

the specific queues are ic_mgtq, ic_pwrsaveq, and ni_savedq. rtw
had its own queue for beacons.

tested by mpi@ and jmc@
ok mpi@


# d2d9c74c 25-Oct-2015 mpi <mpi@openbsd.org>

arp_ifinit() is no longer needed.


# b688c74f 29-Aug-2015 deraadt <deraadt@openbsd.org>

firmware sizes are known; use them for free()


# 64fa60b7 10-Feb-2015 mpi <mpi@openbsd.org>

Wireless drivers call if_input() via ieee80211_input() which set `rcvif'
on every received mbuf, so there's no need to initialize this pointer in
the drivers.

Tested by and ok phessler@


# cd8603a6 10-Jan-2015 stsp <stsp@openbsd.org>

Remove pointless empty 64bit support code stubs from bwi(4).
It seems no 64bit bus space support is forthcoming. Nothing
has happened in DragonflyBSD for several years and FreeBSD
has a different dri

Remove pointless empty 64bit support code stubs from bwi(4).
It seems no 64bit bus space support is forthcoming. Nothing
has happened in DragonflyBSD for several years and FreeBSD
has a different driver for 64bit chips called bwn(4).
ok mpi@ some time ago

show more ...


# 55d1ec63 10-Jan-2015 stsp <stsp@openbsd.org>

Merge two bwi(4) fixes from FreeBSD:

------------------------------------------------------------------------
r192306 | imp | 2009-05-18 17:31:26 +0200 (Mon, 18 May 2009) | 10 lines

Fix a typo from

Merge two bwi(4) fixes from FreeBSD:

------------------------------------------------------------------------
r192306 | imp | 2009-05-18 17:31:26 +0200 (Mon, 18 May 2009) | 10 lines

Fix a typo from the original driver. We need to write ctrl2 into RF
register 0x52, not ctrl1. This appears to be a mistake in the bcm
reverse engineering page, and has been corrected there. Tracing
through the code, this is more in keeping with the "documented"
register. Sephe thinks it looks interesting and may be worth
fixing. :)

Submitted by: ddkprog at yahoo com
Reviewed by: Sepherosa Ziehau

------------------------------------------------------------------------
r192042 | nwhitehorn | 2009-05-13 16:25:55 +0200 (Wed, 13 May 2009) | 4 lines

Add a short delay after programming PHY registers to give some time for
the engine to catch up. This prevents a machine check exception from
illegal memory requests with a BCM4318.

------------------------------------------------------------------------

No regressions observed by myself, miod@, and Vesa Norrman (vesbula at gmail).

show more ...


# f79ee556 22-Dec-2014 tedu <tedu@openbsd.org>

unifdef INET


# 9b18ffb8 19-Dec-2014 guenther <guenther@openbsd.org>

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


# d5c15563 16-Dec-2014 miod <miod@openbsd.org>

Protect memory allocation and disposal with splvm(); gets rid of splassert
complaints during boot on i386.
ok stsp@


123456