History log of /openbsd/sys/dev/ic/acx.c (Results 1 – 25 of 128)
Revision Date Author Comments
# 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@


# 5c7fed39 25-Feb-2021 dlg <dlg@openbsd.org>

we don't have to cast to caddr_t when calling m_copydata anymore.

the first cut of this diff was made with coccinelle using this spatch:

@rule@
type caddr_t;
expression m, off, len, cp;
@@
-m_copyd

we don't have to cast to caddr_t when calling m_copydata anymore.

the first cut of this diff was made with coccinelle using this spatch:

@rule@
type caddr_t;
expression m, off, len, cp;
@@
-m_copydata(m, off, len, (caddr_t)cp)
+m_copydata(m, off, len, cp)

i had fix it's opinionated idea of formatting by hand though, so
i'm not sure it was worth it.

ok deraadt@ bluhm@

show more ...


# 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@


# 53d49253 11-Jan-2020 cheloha <cheloha@openbsd.org>

acx(4): tsleep(9) -> tsleep_nsec(9); ok claudio@


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

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

ok jsg@, 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 ...


# b4e71a52 02-Sep-2016 tom <tom@openbsd.org>

No need to set 'error' to 0 at the beginning of acx_encap(), as
we're only going to set it again 10 lines later.

ok mpi@


# 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 ...


# 32f46ff2 24-Nov-2015 mpi <mpi@openbsd.org>

You only need <net/if_dl.h> if you're using LLADDR() or a sockaddr_dl.


# f9ad5574 24-Nov-2015 mpi <mpi@openbsd.org>

The only network driver needing <net/if_types.h> is upl(4) for IFT_OTHER.


# 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.


# 95cabb2e 06-Sep-2015 deraadt <deraadt@openbsd.org>

firmware size for free()


# 21dab745 14-Mar-2015 jsg <jsg@openbsd.org>

Remove some includes include-what-you-use claims don't
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.

ok tedu@ deraadt@


# 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@


# 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@


# 7f58a11f 14-Sep-2014 jsg <jsg@openbsd.org>

remove uneeded proc.h includes
ok mpi@ kspillner@


# b302470d 08-Sep-2014 kettenis <kettenis@openbsd.org>

Don't include <sys/types.h>; we already include <sys/param.h>.
Add missing <sys/errno.h> and <sys/device.h>. Makes a sparc64 kernel
compile again.


# aaeadf5e 06-Sep-2014 jsg <jsg@openbsd.org>

reduce the amount of pci includes


# 9e6eaca1 22-Jul-2014 mpi <mpi@openbsd.org>

Fewer <netinet/in_systm.h>


123456