> On Fri, 2013-08-23 at 11:08 +0200, Stanislaw Gruszka wrote: > > We have those bug reports on RH bugzilla, and various other iwlwifi > > problems, but those have some common scenario: > > > > https://bugzilla.redhat.com/show_bug.cgi?id=979873 > > https://bugzilla.redhat.com/show_bug.cgi?id=990536 > > https://bugzilla.redhat.com/show_bug.cgi?id=994322 > > https://bugzilla.redhat.com/show_bug.cgi?id=996502 > > https://bugzilla.redhat.com/show_bug.cgi?id=969610 > > https://bugzilla.redhat.com/show_bug.cgi?id=999053 > > > > First there is Microcode error or other firmware problem, what make we > > do iwl_trans_stop_device() which set trans->state to IWL_TRANS_NO_FW. > > If mac80211 has some pending works/timers i.e. ieee80211_sta_work(), > > it calls drv and we trigger on of those warnings > > > > WARN_ONCE(trans->state != IWL_TRANS_FW_ALIVE, > > "%s bad state = %d", __func__, trans->state); > > > > on some trans operation. > > > > I think this can be fixed by first do quiesce on mac80211 (for example > > by ieee80211_sta_quiesce() procedure, which I removed but can be added > > back) and then do iwlagn_prepare_restart() & ieee80211_restart_hw(). > > > > Though I'm not sure if it's worth to do this since those warnings are > > indicator for malfunctioning iwlwifi firmware (or driver not correctly > > communicating with firmware), which will be unnoticed if not reported > > automatically by tool like ABRT. But perhaps we could add WARN_ONCE on > > Microcode error condition ? > > I think that, if the quiesce really helps with this, we should do it. > This WARN is a side-effect of the problem and not the problem itself. > If you want to catch the FW problem, there should be a WARN elsewhere. > > I'm not saying that this WARN should be removed and I also think it's a good > idea to change it to WARN_ON_ONCE(). I just think that, if there's anything > the driver can do to keep things running nicely, we should do it. > > In any case, I'll leave this for Johannes, Emmanuel or some of the other guys > with more experience in iwlwifi to comment. ;) You got my ACK here. We have some issues with firmware. Obviously. But most of the issues are very hard to debug. Most of them I am seeing are more like the firmware getting stuck etc... After all this is why we have a restart flow, for these issues that don't happen frequently but are solvable by a reset. Since we still want to know when this kind of things happen, adding a WARN_ON_ONCE sounds good. ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f