nouveau driver returns -16 trying to hibernate
@brianjmurrell
Submitted by Brian J. Murrell Assigned to Nouveau Project
Description
I am running Fedora 25 with kernel 4.8.15-300.fc25.x86_64. I don't actually actively use the nouveau driver as my machine has an Intel/Nvidia hybrid so I use the Intel driver for X. But even when I do that, the nouveau driver gets loaded (with 2 references) unless I blacklist it.
So given the above, when I try to hibernate it typically works once but a second attempt to hibernate (after having been woken up of course) will fail and the kernel reports:
Jan 20 17:42:15 laptop kernel: PM: Syncing filesystems ... done.
Jan 20 17:42:15 laptop kernel: Freezing user space processes ... (elapsed 0.264 seconds) done.
Jan 20 17:42:15 laptop kernel: Double checking all user space processes after OOM killer disable... (elapsed 0.000 seconds)
Jan 20 17:42:15 laptop kernel: PM: Marking nosave pages: [mem 0x00000000-0x00000fff]
Jan 20 17:42:15 laptop kernel: PM: Marking nosave pages: [mem 0x0009d000-0x000fffff]
Jan 20 17:42:15 laptop kernel: PM: Marking nosave pages: [mem 0x48b7f000-0x49ffefff]
Jan 20 17:42:15 laptop kernel: PM: Marking nosave pages: [mem 0x4a000000-0xffffffff]
Jan 20 17:42:15 laptop kernel: PM: Basic memory bitmaps created
Jan 20 17:42:15 laptop kernel: PM: Preallocating image memory... done (allocated 1487391 pages)
Jan 20 17:42:15 laptop kernel: PM: Allocated 5949564 kbytes in 0.34 seconds (17498.71 MB/s)
Jan 20 17:42:15 laptop kernel: Freezing remaining freezable tasks ... (elapsed 0.216 seconds) done.
Jan 20 17:42:15 laptop kernel: Suspending console(s) (use no_console_suspend to debug)
Jan 20 17:42:15 laptop kernel: tpm tpm0: TPM savestate took 3100ms
Jan 20 17:42:15 laptop kernel: parport_pc 00:04: disabled
Jan 20 17:42:15 laptop kernel: nouveau 0000:01:00.0: DRM: suspending console...
Jan 20 17:42:15 laptop kernel: nouveau 0000:01:00.0: DRM: suspending display...
Jan 20 17:42:15 laptop kernel: nouveau 0000:01:00.0: DRM: evicting buffers...
Jan 20 17:42:15 laptop kernel: nouveau 0000:01:00.0: DRM: waiting for kernel channels to go idle...
Jan 20 17:42:15 laptop kernel: nouveau 0000:01:00.0: DRM: failed to idle channel 0 [DRM]
Jan 20 17:42:15 laptop kernel: nouveau 0000:01:00.0: DRM: resuming display...
Jan 20 17:42:15 laptop kernel: pci_pm_freeze(): nouveau_pmops_freeze+0x0/0x20 [nouveau] returns -16
Jan 20 17:42:15 laptop kernel: dpm_run_callback(): pci_pm_freeze+0x0/0xf0 returns -16
Jan 20 17:42:15 laptop kernel: PM: Device 0000:01:00.0 failed to freeze async: error -16
Jan 20 17:42:15 laptop kernel: usb usb1: root hub lost power or was reset
Jan 20 17:42:15 laptop kernel: usb usb3: root hub lost power or was reset
Jan 20 17:42:15 laptop kernel: usb usb4: root hub lost power or was reset
Jan 20 17:42:15 laptop kernel: usb usb2: root hub lost power or was reset
Jan 20 17:42:15 laptop kernel: ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
Jan 20 17:42:15 laptop kernel: ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
Jan 20 17:42:15 laptop kernel: sd 0:0:0:0: [sda] Starting disk
Jan 20 17:42:15 laptop kernel: pciehp 0000:3c:03.0:pcie204: Device 0000:5f:00.0 already exists at 0000:5f:00, cannot hot-add
Jan 20 17:42:15 laptop kernel: pciehp 0000:3c:03.0:pcie204: Cannot add device at 0000:5f:00
Jan 20 17:42:15 laptop kernel: usb 1-1: reset high-speed USB device number 3 using ehci-pci
Jan 20 17:42:15 laptop kernel: usb 2-1: reset high-speed USB device number 2 using ehci-pci
Jan 20 17:42:15 laptop kernel: ata3: SATA link down (SStatus 0 SControl 300)
Jan 20 17:42:15 laptop kernel: ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Jan 20 17:42:15 laptop kernel: ata1.00: supports DRM functions and may not be fully accessible
Jan 20 17:42:15 laptop kernel: ata4: SATA link down (SStatus 0 SControl 300)
Jan 20 17:42:15 laptop kernel: ata1.00: supports DRM functions and may not be fully accessible
Jan 20 17:42:15 laptop kernel: ata1.00: configured for UDMA/133
Jan 20 17:42:15 laptop kernel: usb 3-7: reset high-speed USB device number 3 using xhci_hcd
Jan 20 17:42:15 laptop kernel: usb 3-5: reset full-speed USB device number 2 using xhci_hcd
Jan 20 17:42:15 laptop kernel: usb 3-12: reset full-speed USB device number 4 using xhci_hcd
Jan 20 17:42:15 laptop kernel: rtc_cmos 00:03: System wakeup disabled by ACPI
Jan 20 17:42:15 laptop kernel: parport_pc 00:04: activated
Jan 20 17:42:15 laptop kernel: PM: restore of devices complete after 1370.000 msecs
As you can see, the fatal part is the:
Jan 20 17:42:15 laptop kernel: pci_pm_freeze(): nouveau_pmops_freeze+0x0/0x20 [nouveau] returns -16
Jan 20 17:42:15 laptop kernel: dpm_run_callback(): pci_pm_freeze+0x0/0xf0 returns -16
Jan 20 17:42:15 laptop kernel: PM: Device 0000:01:00.0 failed to freeze async: error -16
If I do blacklist the nouveau driver completely so that it does not get loaded into the kernel even, I can hibernate and resume over and over again with no problem.