Date: Tue, 3 Apr 2012 14:38:20 +0200 From: Bernhard Schmidt <bschmidt@freebsd.org> To: Mitsuru IWASAKI <iwasaki@jp.freebsd.org> Cc: freebsd-wireless@freebsd.org Subject: Re: [patch] iwi(4) watchdog broken Message-ID: <CAAgh0_YC1F11r%2B-VmMS3rjdMa6OOW7UzEXjo=UyNac=WEnMr9w@mail.gmail.com> In-Reply-To: <20120403.211212.59463568.iwasaki@jp.FreeBSD.org> References: <20120403.200327.18305192.iwasaki@jp.FreeBSD.org> <CAAgh0_ZuJ_dG-r7QnLRJ-NX8Ejmt1DpBehgYOMv-pt_tT4K0Yg@mail.gmail.com> <20120403.211212.59463568.iwasaki@jp.FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Apr 3, 2012 at 14:12, Mitsuru IWASAKI <iwasaki@jp.freebsd.org> wrote: > Hi, >> > Suspend/Resume problem was solved (thanks bschmidt!), >> > however problem still remainds after watchdog messages like >> > `device timeout' or `firmware stuck in state 4, resetting'. >> >> Honestly, I'd rather see the above issues fixed and not the workaround >> for it. ;) >> Do you have a test case to reproduce this? > > Yap, ifconfig wlan0 scan on RELENG_8 always reproduce 'firmware stuck > in state 4, resetting'. Ah, yeah, ok, the scan issue again, that is probably the reason why background scan support is disabled.. >> So, if I get that correctly, the only difference is that you added a >> ieee80211_new_state_locked(vap, IEEE80211_S_INIT, -1); call, right? >> Any reason why not calling ieee80211_stop_all()/ieee80211_start_all() >> directly in iwi_restart()? This will call the appropriate >> iwi_init/stop functions. > > Yes, I already tried that, wlan0 seems restarted but iwi0 not. > ifconfig show the status like this; > iwi0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290 > [snip] > wlan0: flags=8803<UP,BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 > [snip] > > I wonder if only RELENG_8 has this problem because HEAD and RELENG_9 > seems to be OK... wpa_supplicant involved? I mean, that is the only thing I can currently think of, wpa_supplicant versions differ between head and 8 afaik. The callgraph is also different between with and without supplicant. Can we rule the supplicant out somehow? I mean this condition in ieee80211_start_locked() if ((parent->if_drv_flags & IFF_DRV_RUNNING) && vap->iv_roaming != IEEE80211_ROAMING_MANUAL) { -- Bernhard
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAgh0_YC1F11r%2B-VmMS3rjdMa6OOW7UzEXjo=UyNac=WEnMr9w>