On Fri, Jun 14, 2013 at 03:18:29PM +0200, Stanislaw Gruszka wrote: > > >> I also got a SYSASSERT: > > >> (...) > > >> > > >> I disabled powersave (but kept running the same kernel) and none of > > >> the errors appeared again. > > > > > > Yes, this seems to be iwlegacy PS issue and has to be fixed before > > > this patch could be applied. > > > > But is it a driver-only issue? I had assumed it was some sort of > > fireware+driver issue... > Looks like driver issue or firmware issue that can be workaround in > the driver. > > > Will running with debug on help? Or is it easily reproducible on any > > iwl3945 / iwl4465 ? > > > > Because in my case (iwl3945) it happens after boot, no prior suspend > > to RAM is required to trigger the issues. > I can reproduce microcode error on iwl4965 by reloading modules. Looks > like we put device in sleep mode and it can not be properly booted when > driver initalize. I did not yet test patch on iwl3945. When I'll do > this, I think I'll be able to reproduce problems you discovered. If not > I'll ask for more debug info. I found problem on 4965, we have to send power configuration command to device earlier, before some other commands. Attached patch solved microcode errors I have on 4965. Regarding iwl3945. Display on my 3945 laptop no longer works. I took 3945 device from that laptop and installed it on two different machines. Unfortunately on none of them device was detected by pci system :-/ I have figure out how to get working 3945 testing environment, but for now, perhaps you could provide me some more debug information. Pedro, please do the fallowing: Add this line in /etc/rsyslog.conf: kern.* /var/log/kernel Restart rsyslog services: # systemctl restart rsyslog.service Restart iwl3945 module with verbose debug enabled: modprobe -r iwl3945 modprobe iwl3945 debug=0x47ffffff Reproduce the problem. Unload module: modprobe -r iwl3945 Then provide me generated /var/log/kernel file (compressed if needed). Thanks Stanislaw
diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c index d287fd2..e7821f6 100644 --- a/drivers/net/wireless/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/iwlegacy/4965-mac.c @@ -5334,6 +5334,9 @@ il4965_alive_start(struct il_priv *il) il->active_rate = RATES_MASK; + il_power_update_mode(il, true); + D_INFO("Updated power mode\n"); + if (il_is_associated(il)) { struct il_rxon_cmd *active_rxon = (struct il_rxon_cmd *)&il->active; @@ -5364,9 +5367,6 @@ il4965_alive_start(struct il_priv *il) D_INFO("ALIVE processing complete.\n"); wake_up(&il->wait_command_queue); - il_power_update_mode(il, true); - D_INFO("Updated power mode\n"); - return; restart: