Distribution: Debian unstable Hardware Environment: x86 laptop pentium M compaq nc4000 Software Environment: pcmcia_cs (not udev) Problem Description: Machine hangs on swsusp suspend to disk if 3com 3CRSHPW196 (atmel_cs) is in use, after printing these two lines Yenta O2: res at 0x94/0xD4: 00/ea Yenta O2: enabling read prefetch/write burst Some investigation with Magic Sysrq indicates that it stopped in the middle of swsusp_write -> device_resume ... -> request_firmware: presumably the pcmcia device got resumed before the disk it wants to load its firmware from Steps to reproduce # # -- insert a 3com network card and wait for modules to load -- # echo platform >/sys/power/disk # echo disk >/sys/power/state
Created attachment 5683 [details] hacky patch to fix it I don't claim this should be merged (it probably confuses hotplug - which I regard as cosmic justice for hotplug confusing /me/), but it does make the problem go away.
Yes, storing firmware in memory is probably the solution (for now at least). I'd move firmware handling into separate function, through.
What shall we do with this? Is a patch solving this issue merged already?
Actually patch pretty much looks okay to me. kmallocing firmware is probably nicest solution. Danil, can you add " " between "if" and "(" and submit it?
Daniel, please submit that patch.
Submit where?
Reply-To: pavel@ucw.cz > Submit where? Mail it to Andrew Morton, cc linux-kernel and me. Put nice changelog and signed-off-by lines in there. Pavel
Pavel: is that patch merged already?
No, I do not think it is merged. I guess someone with that hardware should take the patch, test it, clean it up according to comments in this bug and submit it properly :-).
Daniel, any update on this?
I don't see the patch applied. Has the problem been addressed since some other way? Thanks.