Page MenuHomeFreeBSD

net80211: unbreak (*ic_ioctl)() argument mismatch
Needs ReviewPublic

Authored by bz on Jul 17 2025, 10:35 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Aug 17, 4:13 AM
Unknown Object (File)
Sat, Aug 16, 9:59 PM
Unknown Object (File)
Thu, Aug 7, 7:57 AM
Unknown Object (File)
Jul 29 2025, 7:34 AM
Unknown Object (File)
Jul 29 2025, 1:27 AM
Unknown Object (File)
Jul 28 2025, 6:47 PM
Unknown Object (File)
Jul 26 2025, 1:19 AM
Unknown Object (File)
Jul 25 2025, 1:23 AM

Details

Reviewers
None
Group Reviewers
wireless
Summary

In 2015 when the net80211 KPI was changed from a parent ifp to just
struct ieee80211com, (*ic_ioctl)() was introduced for drivers to handle
ioctls themself. When this was done the first argument became the
"ic" but an ifp really matches a vap and not the ic.

Adjust the first argument from ic to vap as otherwise a driver ioctl
can no longer figure out for which wlan interface it was called.

The few drivers (needing that information again) are currently iterating
over all vaps which may make sense if the hardware can only be programmed
as a whole but for certain features on modern hardware we would love
to be able to configure per interface so we do need the information of
the original ifp (or vap).

It still makes sense to have the ic_ioctl and not a iv_ioctl (per vap)
as the ioctl handler should be the same and only done once per driver.

Sponsored by: The FreeBSD Foundation
Fixes: 7a79cebfbac5e

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 65544
Build 62427: arc lint + arc unit