Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Sep 2020 07:41:35 +0900
From:      Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
To:        svn-src-head@freebsd.org
Cc:        freebsd-current@freebsd.org, bz@FreeBSD.org
Subject:   Re: svn commit: r365419 - in head/sys/dev: ath bwi iwm iwn mwl otus usb/wlan wtap
Message-ID:  <20200910074135.45d5b208b083c93efbce9259@dec.sakura.ne.jp>

next in thread | raw e-mail | index | archive | help
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@dec.sakura.ne.jp>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200910074135.45d5b208b083c93efbce9259>