[Bug 248955] [PATCH] net80211: fix ieee80211_media_change() return value

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Sep 1 21:08:59 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248955

Bjoern A. Zeeb <bz at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Open
           Assignee|bz at FreeBSD.org              |wireless at FreeBSD.org

--- Comment #1 from Bjoern A. Zeeb <bz at FreeBSD.org> ---
I am not sure this is the correct fix.

A lot of drivers also pass it to ieee80211_vap_attach() which then tickles down
to ifmedia_init() where it is set to ifm->ifm_change = change_callback; 
ifmedia_ioctl() then checks for a != 0 error.

Seems to be a good copy&paste error either way as one or the other case will
break.

It seems in r178354 the first factoring out of things happened, when it could
still return ENETRESET which was then after successive changes removed in
https://svnweb.freebsd.org/base/head/sys/net80211/ieee80211.c?r1=193339&r2=193340&

which is the code as it is today.  As a conclusion I'd say the drivers have not
been updated to reflect these changes after r178354; see
https://svnweb.freebsd.org/base/head/sys/dev/ath/if_ath.c?r1=178353&r2=178354&
for why this still was.

Would you follow the conclusion that these days the drivers could savely check
for != 0 and we should rather fix (the ones I found):
./dev/ath/if_ath.c ./dev/bwi/if_bwi.c ./dev/iwm/if_iwm.c ./dev/iwn/if_iwn.c
./dev/malo/if_malo.c ./dev/mwl/if_mwl.c ./dev/otus/if_otus.c
./dev/usb/wlan/if_run.c ./dev/wtap/if_wtap.c

Cc:ing re-assigning back to the list so that other driver maintainers will also
see.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-wireless mailing list