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)
Fri, Oct 10, 10:33 AM
Unknown Object (File)
Mon, Oct 6, 2:09 AM
Unknown Object (File)
Mon, Sep 29, 3:51 AM
Unknown Object (File)
Thu, Sep 25, 9:01 PM
Unknown Object (File)
Sun, Sep 21, 8:05 PM
Unknown Object (File)
Sep 14 2025, 2:43 AM
Unknown Object (File)
Sep 14 2025, 12:28 AM
Unknown Object (File)
Sep 9 2025, 10:40 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