svn commit: r365419 - in head/sys/dev: ath bwi iwm iwn mwl otus usb/wlan wtap
Tomoaki AOKI
junchoon at dec.sakura.ne.jp
Wed Sep 9 22:41:46 UTC 2020
This breaks at least iwm. (Other drivers not tested.)
Messages below are repeatedly shown and no carrier detected.
Manually reverting this commit fixes the issue.
iwm0: failed to send antennas before calibration: 35
iwm_run_init_ucode: failed 35
iwm_init_hw failed 35
iwm0: could not initiate scan
and lesser times messages below.
iwm0: iwm_send_phy_db_data: Cannot send HCMD of Phy DB cfg section, 35
iwm_init_hw failed 35
iwm0: could not initiate scan
> Author: bz
> Date: Mon Sep 7 15:35:40 2020
> New Revision: 365419
> URL: https://svnweb.freebsd.org/changeset/base/365419
>
> Log:
> WiFi: fix ieee80211_media_change() callers
>
> In r178354 with the introduction of multi-bss ("vap") support
factoring
> out started and with r193340 ieee80211_media_change() no longer returned
> ENETRESET but only 0 or error.
> As ieee80211(9) tells the ieee80211_media_change() function should not
> be called directly but is registered with ieee80211_vap_attach()
instead.
> Some drivers have not been fully converted. After fixing the return
> checking some of these functions were simply wrappers between
> ieee80211_vap_attach() and ieee80211_media_change(), so remove the
extra
> function, where possible as well.
>
> PR: 248955
> Submitted by: Tong Zhang (ztong0001 gmail.com) (original)
> MFC after: 3 days
> Sponsored by: The FreeBSD Foundation
>
> Modified:
> head/sys/dev/ath/if_ath.c
> head/sys/dev/bwi/if_bwi.c
> head/sys/dev/iwm/if_iwm.c
> head/sys/dev/iwn/if_iwn.c
> head/sys/dev/mwl/if_mwl.c
> head/sys/dev/otus/if_otus.c
> head/sys/dev/usb/wlan/if_run.c
> head/sys/dev/wtap/if_wtap.c
>
> Modified: head/sys/dev/ath/if_ath.c
> ==============================================================================
> --- head/sys/dev/ath/if_ath.c Mon Sep 7 14:40:33 2020 (r365418)
> +++ head/sys/dev/ath/if_ath.c Mon Sep 7 15:35:40 2020 (r365419)
> @@ -160,7 +160,6 @@ static int ath_init(struct ath_softc *);
> static void ath_stop(struct ath_softc *);
> static int ath_reset_vap(struct ieee80211vap *, u_long);
> static int ath_transmit(struct ieee80211com *, struct mbuf *);
> -static int ath_media_change(struct ifnet *);
> static void ath_watchdog(void *);
> static void ath_parent(struct ieee80211com *);
> static void ath_fatal_proc(void *, int);
(snip)
> Modified: head/sys/dev/iwm/if_iwm.c
> ==============================================================================
> --- head/sys/dev/iwm/if_iwm.c Mon Sep 7 14:40:33 2020 (r365418)
> +++ head/sys/dev/iwm/if_iwm.c Mon Sep 7 15:35:40 2020 (r365419)
> @@ -4426,8 +4426,8 @@ iwm_media_change(struct ifnet *ifp)
> int error;
>
> error = ieee80211_media_change(ifp);
> - if (error != ENETRESET)
> - return error;
> + if (error != 0)
> + return (error);
>
> IWM_LOCK(sc);
> if (ic->ic_nrunning > 0) {
> @@ -4435,7 +4435,7 @@ iwm_media_change(struct ifnet *ifp)
> iwm_init(sc);
> }
> IWM_UNLOCK(sc);
> - return error;
> + return (0);
> }
>
> static void
(snip)
--
Tomoaki AOKI <junchoon at dec.sakura.ne.jp>
More information about the svn-src-head
mailing list