I have two problems: a) after resume CPU usage is 100%. b) during resume it freezes for 30 seconds Reproducible: Always Steps to Reproduce: 1) Suspend(from Xfce or pm-suspend) - OK 2) Ntb is shutdown - OK 3) Press a key and ntb start to resume - OK 4) 30 second freeze - PROBLEM 5) Continue resume normally - OK 6) Resume is successfully done and desktop is normally usuable - OK Actual Results: CPU usage is 100%. How freeze looks? Black screen with gray cursor blinking in the upper left corner. Expected Results: No CPU usage and resume in 1 or 2 seconds. First problem I solved using https://bbs.archlinux.org/viewtopic.php?pid=936789 by removing sr_mod(SCSI support for CD-ROM). So now i have no CD-ROM support but no CPU usage problem. But it is not ideal solution. Second problem... i can't solve it at all.
Created attachment 302549 [details] lspci
Created attachment 302551 [details] dmesg
Created attachment 302553 [details] .config
I have ASUS F5VL notebook and now using 3.2.6 kernel. I have this problem a couple of days - from buy my notebook(2.6.32 kernel I think) till today(3.2.6 kernel). In dmesg we can see some ata, ACPI error and lost interrupt error. I've googled a lot but I couldn't find anything related exactly to my problem. I try to fix it here: http://forums.gentoo.org/viewtopic-t-881477-start-0.html and first problem I fix by removing module like here: https://bbs.archlinux.org/viewtopic.php?pid=936789 I have SiS chipset SiS 671/SiS 968 and on some notebooks it supports AHCI mode instead of IDE... so it could be supported by AHCI driver instead of sata_sis. I tried to find how to switch it from IDE to AHCI mode but no luck - it should be possible due to PCI registers(setpci utility) but there is no public documentation for this chipset. In BIOS I don't have this option. Feel free to ask if you want any type of information. Thank you for your help.
Modifying /usr/src/linux/drivers/ata/sata_sis.c fix resume problem. So it is needed to add .suspend and .resume function. In mainstream there should be some "if" for CONFIG_PM. But this works for me. static struct pci_driver sis_pci_driver = { .name = DRV_NAME, .id_table = sis_pci_tbl, .probe = sis_init_one, .remove = ata_pci_remove_one, .suspend = ata_pci_device_suspend, .resume = ata_pci_device_resume, };
Closing, will watch upstream bug if any developments happen.