Date: Thu, 5 Aug 2010 09:40:09 GMT From: Bernhard Schmidt <bschmidt@techwires.net> To: freebsd-net@FreeBSD.org Subject: Re: kern/149185: [rum] [panic] panic in rum(4) driver on 8.1-R Message-ID: <201008050940.o759e98c089182@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/149185; it has been noted by GNATS. From: Bernhard Schmidt <bschmidt@techwires.net> To: Alex Kozlov <spam@rm-rf.kiev.ua>, bug-followup@freebsd.org Cc: nox@freebsd.org, rpaulo@freebsd.org Subject: Re: kern/149185: [rum] [panic] panic in rum(4) driver on 8.1-R Date: Thu, 5 Aug 2010 11:34:35 +0200 On Thu, Aug 5, 2010 at 11:11, Alex Kozlov <spam@rm-rf.kiev.ua> wrote: > On Thu, Aug 05, 2010 at 10:05:39AM +0200, Bernhard Schmidt wrote: >> On Thu, Aug 5, 2010 at 08:52, Alex Kozlov <spam@rm-rf.kiev.ua> wrote: >> > On Wed, Aug 04, 2010 at 10:02:35PM +0200, Juergen Lock wrote: >> >> =A0Regarding the 8.1 if_rum(4) panics... =A0I got a similar one, extr= acted >> >> a dump and tried to gather some info for someone who knows the code: >> >> >> >> =A0The zero divide fault was because (apparently) rate was unitialize= d, >> >> as is >> >> >> >> =A0 =A0 =A0 ((struct ieee80211_node *) m->M_dat.MH.MH_pkthdr.rcvif)->= ni_vap->iv_txparms[0] >> >> >> >> i.e. struct ieee80211_txparam &vap->iv_txparms[0] in case it matters. >> > Yes, its seems that ratectl framework sometimes set ni->ni_txrate to 0 >> > This can be mitigated by patch [1] or by setting ucastrate option in >> > ifconfig. Still real issue need to be solved. >> >> The real issue is that prior to an association (RUN state) >> ieee80211_ratectl_node_init() is not called, therefore iv_bss is not >> configured in any way. > ieee80211_ratectl_node_init() called from iv_newstate when switching to > IEEE80211_S_RUN state. Most drivers do the same. Is it wrong? > Some call it from iv_newassoc, but this marked /* XXX move */ It is not wrong, but to late. Before RUN state and the iv_newassoc() call, you have to send frames for scanning and authentication, those need a valid rate too. I wonder if we can call node_init() in ieee80211_vap_setup() or something similar, that would definitely be early enough. >> I'll look into that if no one beats me. > Thanks. --=20 Bernhard
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008050940.o759e98c089182>