On 10/09/2011 04:51 PM, Arkadiusz MiÅkiewicz wrote:Arkadiusz,On Wednesday 05 of October 2011, Linus Torvalds wrote:I tried -rc9 on my Lenovo W500 with that same TPM. I cannot reproduce the 'scheduling while atomic' problem you had reported earlier. I also could suspend / resume fine as long as I did the following:Another week, another -rc.suspend to ram regression is annoying (still visible on rc9;
https://lkml.org/lkml/2011/9/24/76) but unfortunately maintainers are silent.
- suspended with the tpm_tis driver as module in the kernel
- once a suspend was done without the tpm_tis driver the subsequent suspends were all done without the tpm_tis driver
Once I had done a suspend/resume with the tpm_tis driver *not* in the kernel and then again a suspend with the tpm_tis driver in the kernel, it did not resume anymore. I believe previously (previous version of kernel and/or Fedora) it refused to even suspend. The reason why this doesn't work properly is that the driver has to send a command to the TPM upon suspend and the BIOS then sends the corresponding wakeup command.
Did you maybe previously suspend/resume without a tpm_tis driver and then try to suspend with it ?
Also, my Lenovo W500 shows particularly odd behavior when I switch from Windows to Linux. The first suspend with a Linux booted after Windows (with or without tpm_tis driver) does *not* resume (reboot required). A subsequently rebooted Linux makes the suspend/resume work fine.
Stefan