Hi, just for your information and maybe for some help: with 5.1rc1 and SVM enabled i see the following backtrace [1] when the nouveau card (reverse prime) goes to sleep, for now i have papered over with [2] which leaves me with userspace hangs. Any pointers where to look for the actual culprit? PS: Card is: nouveau 0000:01:00.0: NVIDIA GP106 (136000a1) Greetings, Tobias [1]: BUG: unable to handle kernel NULL pointer dereference at 0000000000000028 #PF error: [normal kernel read fault] PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 3 PID: 435 Comm: kworker/3:4 Not tainted 5.1.0-rc1-desktop-debug+ #80 Hardware name: Acer Aspire VN7-593G/Pluto_KLS, BIOS V1.11 08/01/2018 Workqueue: pm pm_runtime_work RIP: 0010:nouveau_bo_unpin (linux/./include/linux/compiler.h:193 linux/./arch/x86/include/asm/atomic.h:31 linux/./include/asm-generic/atomic-instrumented.h:27 linux/./include/linux/refcount.h:43 linux/./include/linux/kref.h:38 linux/./include/drm/ttm/ttm_bo_driver.h:721 linux/drivers/gpu/drm/nouveau/nouveau_bo.c:454) nouveau Code: 89 d9 48 c7 c6 50 04 e5 c0 c4 42 79 f7 c0 bd f0 ff ff ff e8 42 d5 7a c6 ff 83 00 04 00 00 e9 17 ff ff ff 41 54 55 53 48 89 fb <8b> 47 28 85 c0 0f 84 cf 00 00 00 48 8b bb c0 01 00 00 31 f6 4c 8b All code ======= 0: 89 d9 mov %ebx,%ecx 2: 48 c7 c6 50 04 e5 c0 mov $0xffffffffc0e50450,%rsi 9: c4 42 79 f7 c0 shlx %eax,%r8d,%r8d e: bd f0 ff ff ff mov $0xfffffff0,%ebp 13: e8 42 d5 7a c6 callq 0xffffffffc67ad55a 18: ff 83 00 04 00 00 incl 0x400(%rbx) 1e: e9 17 ff ff ff jmpq 0xffffffffffffff3a 23: 41 54 push %r12 25: 55 push %rbp 26: 53 push %rbx 27: 48 89 fb mov %rdi,%rbx 2a:* 8b 47 28 mov 0x28(%rdi),%eax <-- trapping instruction 2d: 85 c0 test %eax,%eax 2f: 0f 84 cf 00 00 00 je 0x104 35: 48 8b bb c0 01 00 00 mov 0x1c0(%rbx),%rdi 3c: 31 f6 xor %esi,%esi 3e: 4c rex.WR 3f: 8b .byte 0x8b Code starting with the faulting instruction ========================================== 0: 8b 47 28 mov 0x28(%rdi),%eax 3: 85 c0 test %eax,%eax 5: 0f 84 cf 00 00 00 je 0xda b: 48 8b bb c0 01 00 00 mov 0x1c0(%rbx),%rdi 12: 31 f6 xor %esi,%esi 14: 4c rex.WR 15: 8b .byte 0x8b RSP: 0018:ffffbf0b41237d20 EFLAGS: 00010216 RAX: ffff9dfe0ba2ec00 RBX: 0000000000000000 RCX: ffffffffc0ceb630 RDX: ffff9dfe0ba2ec38 RSI: 000000007fffffff RDI: 0000000000000000 RBP: ffff9dfe0a07e000 R08: 0000000000000000 R09: ffffffffc0d4a9a0 R10: 8080808080808080 R11: 0000000000001800 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000008 FS: 0000000000000000(0000) GS:ffff9dfe3ecc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000028 CR3: 00000001a500e002 CR4: 00000000003606e0 Call Trace: nouveau_dmem_suspend (linux/drivers/gpu/drm/nouveau/nouveau_dmem.c:482 (discriminator 9)) nouveau nouveau_do_suspend (linux/drivers/gpu/drm/nouveau/nouveau_drm.c:748) nouveau nouveau_pmops_runtime_suspend (linux/drivers/gpu/drm/nouveau/nouveau_drm.c:915) nouveau pci_pm_runtime_suspend (linux/drivers/pci/pci-driver.c:1262) ? __switch_to_asm (linux/arch/x86/entry/entry_64.S:312) ? pci_has_legacy_pm_support (linux/drivers/pci/pci-driver.c:1238) __rpm_callback (linux/drivers/base/power/runtime.c:357) ? pci_has_legacy_pm_support (linux/drivers/pci/pci-driver.c:1238) rpm_callback (linux/drivers/base/power/runtime.c:490) ? pci_has_legacy_pm_support (linux/drivers/pci/pci-driver.c:1238) rpm_suspend (linux/drivers/base/power/runtime.c:629) ? __switch_to_asm (linux/arch/x86/entry/entry_64.S:312) ? __switch_to_asm (linux/arch/x86/entry/entry_64.S:312) ? __switch_to_asm (linux/arch/x86/entry/entry_64.S:312) ? __switch_to_asm (linux/arch/x86/entry/entry_64.S:312) ? __switch_to_asm (linux/arch/x86/entry/entry_64.S:312) pm_runtime_work (linux/drivers/base/power/runtime.c:922) process_one_work (linux/./arch/x86/include/asm/preempt.h:26 linux/kernel/workqueue.c:2278) worker_thread (linux/./include/linux/compiler.h:193 linux/./include/linux/list.h:237 linux/kernel/workqueue.c:2416) ? process_one_work (linux/kernel/workqueue.c:2358) kthread (linux/kernel/kthread.c:253) ? kthread_create_worker_on_cpu (linux/kernel/kthread.c:213) ret_from_fork (linux/arch/x86/entry/entry_64.S:358) Modules linked in: rfcomm af_packet snd_hda_codec_hdmi bnep uvcvideo videobuf2_vmalloc rtsx_usb_sdmmc videobuf2_memops btusb rtsx_usb_ms videobuf2_v4l2 btrtl mmc_core memstick btbcm videodev btintel videobuf2_common rtsx_usb bluetooth usbhid ecdh_generic snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio nouveau arc4 i915 nls_iso8859_1 nls_cp437 vfat fat intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel ath10k_pci kvm ath10k_core msr snd_hda_intel mxm_wmi ath snd_hda_codec irqbypass joydev ttm snd_hda_core mac80211 snd_hwdep crct10dif_pclmul drm_kms_helper crc32_pclmul snd_pcm crc32c_intel hid_multitouch drm snd_timer ghash_clmulni_intel hid_generic mei_hdcp iTCO_wdt aesni_intel snd iTCO_vendor_support cfg80211 aes_x86_64 crypto_simd fb_sys_fops cryptd acerfan r8169 syscopyarea glue_helper sysfillrect idma64 sysimgblt realtek acer_wmi i2c_algo_bit soundcore mei_me libphy intel_wmi_thunderbolt sparse_keymap pcspkr intel_pch_thermal wmi_bmof rfkill intel_lpss_pci mei i2c_i801 intel_lpss thermal battery ac tpm_crb tpm_tis tpm_tis_core pinctrl_sunrisepoint pinctrl_intel tpm pcc_cpufreq acpi_pad button xhci_pci serio_raw xhci_hcd usbcore i2c_hid wmi video sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua efivarfs autofs4 CR2: 0000000000000028 ---[ end trace abc30d2b924ee9b1 ]--- RIP: 0010:nouveau_bo_unpin (linux/./include/linux/compiler.h:193 linux/./arch/x86/include/asm/atomic.h:31 linux/./include/asm-generic/atomic-instrumented.h:27 linux/./include/linux/refcount.h:43 linux/./include/linux/kref.h:38 linux/./include/drm/ttm/ttm_bo_driver.h:721 linux/drivers/gpu/drm/nouveau/nouveau_bo.c:454) nouveau Code: 89 d9 48 c7 c6 50 04 e5 c0 c4 42 79 f7 c0 bd f0 ff ff ff e8 42 d5 7a c6 ff 83 00 04 00 00 e9 17 ff ff ff 41 54 55 53 48 89 fb <8b> 47 28 85 c0 0f 84 cf 00 00 00 48 8b bb c0 01 00 00 31 f6 4c 8b All code ======= 0: 89 d9 mov %ebx,%ecx 2: 48 c7 c6 50 04 e5 c0 mov $0xffffffffc0e50450,%rsi 9: c4 42 79 f7 c0 shlx %eax,%r8d,%r8d e: bd f0 ff ff ff mov $0xfffffff0,%ebp 13: e8 42 d5 7a c6 callq 0xffffffffc67ad55a 18: ff 83 00 04 00 00 incl 0x400(%rbx) 1e: e9 17 ff ff ff jmpq 0xffffffffffffff3a 23: 41 54 push %r12 25: 55 push %rbp 26: 53 push %rbx 27: 48 89 fb mov %rdi,%rbx 2a:* 8b 47 28 mov 0x28(%rdi),%eax <-- trapping instruction 2d: 85 c0 test %eax,%eax 2f: 0f 84 cf 00 00 00 je 0x104 35: 48 8b bb c0 01 00 00 mov 0x1c0(%rbx),%rdi 3c: 31 f6 xor %esi,%esi 3e: 4c rex.WR 3f: 8b .byte 0x8b Code starting with the faulting instruction ========================================== 0: 8b 47 28 mov 0x28(%rdi),%eax 3: 85 c0 test %eax,%eax 5: 0f 84 cf 00 00 00 je 0xda b: 48 8b bb c0 01 00 00 mov 0x1c0(%rbx),%rdi 12: 31 f6 xor %esi,%esi 14: 4c rex.WR 15: 8b .byte 0x8b RSP: 0018:ffffbf0b41237d20 EFLAGS: 00010216 RAX: ffff9dfe0ba2ec00 RBX: 0000000000000000 RCX: ffffffffc0ceb630 RDX: ffff9dfe0ba2ec38 RSI: 000000007fffffff RDI: 0000000000000000 RBP: ffff9dfe0a07e000 R08: 0000000000000000 R09: ffffffffc0d4a9a0 R10: 8080808080808080 R11: 0000000000001800 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000008 FS: 0000000000000000(0000) GS:ffff9dfe3ecc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000028 CR3: 00000001a500e002 CR4: 00000000003606e0 [2]: diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index 34a998012bf6..aee10a120896 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -377,11 +377,21 @@ nouveau_bo_placement_set(struct nouveau_bo *nvbo, uint32_t type, uint32_t busy) int nouveau_bo_pin(struct nouveau_bo *nvbo, uint32_t memtype, bool contig) { + WARN_ON(!virt_addr_valid(nvbo)); + + if (!virt_addr_valid(nvbo)) + return 0; + struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); struct ttm_buffer_object *bo = &nvbo->bo; bool force = false, evict = false; int ret; + WARN_ON(!virt_addr_valid(bo)); + + if (!virt_addr_valid(bo)) + return 0; + ret = ttm_bo_reserve(bo, false, false, NULL); if (ret) return ret; @@ -447,10 +457,20 @@ nouveau_bo_pin(struct nouveau_bo *nvbo, uint32_t memtype, bool contig) int nouveau_bo_unpin(struct nouveau_bo *nvbo) { + WARN_ON(!virt_addr_valid(nvbo)); + + if (!virt_addr_valid(nvbo)) + return 0; + struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); struct ttm_buffer_object *bo = &nvbo->bo; int ret, ref; + WARN_ON(!virt_addr_valid(bo)); + + if (!virt_addr_valid(bo)) + return 0; + ret = ttm_bo_reserve(bo, false, false, NULL); if (ret) return ret;
On Thu, Mar 21, 2019 at 04:59:14PM +0100, Tobias Klausmann wrote:> Hi, > > just for your information and maybe for some help: with 5.1rc1 and SVM > enabled i see the following backtrace [1] when the nouveau card (reverse > prime) goes to sleep, for now i have papered over with [2] which leaves me > with userspace hangs. Any pointers where to look for the actual culprit? > > PS: Card is: nouveau 0000:01:00.0: NVIDIA GP106 (136000a1) > > Greetings, > > TobiasCan you check if attached patch fix the issue ? Cheers, Jérôme -------------- next part -------------->From 0304725edbaa3b828598a3babb785e6b9555af0b Mon Sep 17 00:00:00 2001From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse at redhat.com> Date: Thu, 21 Mar 2019 13:08:46 -0400 Subject: [PATCH] gpu/nouveau: initialize some fields of dmem no matter what MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On GPU that do not support device memory we left dmem fields uninitialized and this lead to troube in suspend/resume which try to use those fields. It seems best to initialize those fields no matter what. Signed-off-by: Jérôme Glisse <jglisse at redhat.com> Cc: Ben Skeggs <bskeggs at redhat.com> Cc: dri-devel at lists.freedesktop.org Cc: nouveau at lists.freedesktop.org Cc: David Airlie <airlied at linux.ie> Cc: Daniel Vetter <daniel at ffwll.ch> Cc: dri-devel at lists.freedesktop.org --- drivers/gpu/drm/nouveau/nouveau_dmem.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c index aa9fec80492d..35b6e83ead8a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c @@ -593,6 +593,11 @@ nouveau_dmem_init(struct nouveau_drm *drm) unsigned long i, size; int ret; + mutex_init(&drm->dmem->mutex); + INIT_LIST_HEAD(&drm->dmem->chunk_free); + INIT_LIST_HEAD(&drm->dmem->chunk_full); + INIT_LIST_HEAD(&drm->dmem->chunk_empty); + /* This only make sense on PASCAL or newer */ if (drm->client.device.info.family < NV_DEVICE_INFO_V0_PASCAL) return; @@ -600,11 +605,6 @@ nouveau_dmem_init(struct nouveau_drm *drm) if (!(drm->dmem = kzalloc(sizeof(*drm->dmem), GFP_KERNEL))) return; - mutex_init(&drm->dmem->mutex); - INIT_LIST_HEAD(&drm->dmem->chunk_free); - INIT_LIST_HEAD(&drm->dmem->chunk_full); - INIT_LIST_HEAD(&drm->dmem->chunk_empty); - size = ALIGN(drm->client.device.info.ram_user, DMEM_CHUNK_SIZE); /* Initialize migration dma helpers before registering memory */ -- 2.17.1
On Thu, Mar 21, 2019 at 01:12:07PM -0400, Jerome Glisse wrote:> On Thu, Mar 21, 2019 at 04:59:14PM +0100, Tobias Klausmann wrote: > > Hi, > > > > just for your information and maybe for some help: with 5.1rc1 and SVM > > enabled i see the following backtrace [1] when the nouveau card (reverse > > prime) goes to sleep, for now i have papered over with [2] which leaves me > > with userspace hangs. Any pointers where to look for the actual culprit? > > > > PS: Card is: nouveau 0000:01:00.0: NVIDIA GP106 (136000a1) > > > > Greetings, > > > > Tobias > > Can you check if attached patch fix the issue ?Sorry sent bogus patch here is a good one ... Cheers, Jérôme -------------- next part -------------->From 5b413953ba7abd3f92f46ef8261cd64368f0ae84 Mon Sep 17 00:00:00 2001From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse at redhat.com> Date: Thu, 21 Mar 2019 13:08:46 -0400 Subject: [PATCH] gpu/nouveau: empty chunk do not have a buffer object associated with them. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Empty chunk do not have a bo associated with them so no need to pin/unpin on suspend/resume. Signed-off-by: Jérôme Glisse <jglisse at redhat.com> Cc: Ben Skeggs <bskeggs at redhat.com> Cc: dri-devel at lists.freedesktop.org Cc: nouveau at lists.freedesktop.org Cc: David Airlie <airlied at linux.ie> Cc: Daniel Vetter <daniel at ffwll.ch> Cc: dri-devel at lists.freedesktop.org --- drivers/gpu/drm/nouveau/nouveau_dmem.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c index aa9fec80492d..a510dbe9a9cb 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c @@ -456,11 +456,6 @@ nouveau_dmem_resume(struct nouveau_drm *drm) /* FIXME handle pin failure */ WARN_ON(ret); } - list_for_each_entry (chunk, &drm->dmem->chunk_empty, list) { - ret = nouveau_bo_pin(chunk->bo, TTM_PL_FLAG_VRAM, false); - /* FIXME handle pin failure */ - WARN_ON(ret); - } mutex_unlock(&drm->dmem->mutex); } @@ -479,9 +474,6 @@ nouveau_dmem_suspend(struct nouveau_drm *drm) list_for_each_entry (chunk, &drm->dmem->chunk_full, list) { nouveau_bo_unpin(chunk->bo); } - list_for_each_entry (chunk, &drm->dmem->chunk_empty, list) { - nouveau_bo_unpin(chunk->bo); - } mutex_unlock(&drm->dmem->mutex); } -- 2.17.1
On 21.03.19 18:12, Jerome Glisse wrote:> On Thu, Mar 21, 2019 at 04:59:14PM +0100, Tobias Klausmann wrote: >> Hi, >> >> just for your information and maybe for some help: with 5.1rc1 and SVM >> enabled i see the following backtrace [1] when the nouveau card (reverse >> prime) goes to sleep, for now i have papered over with [2] which leaves me >> with userspace hangs. Any pointers where to look for the actual culprit? >> >> PS: Card is: nouveau 0000:01:00.0: NVIDIA GP106 (136000a1) >> >> Greetings, >> >> Tobias > Can you check if attached patch fix the issue ? > > Cheers, > Jérôme >Hi, the patch is fine, you can add my R-b & Tested-by! PS: yet i have another unrelated error keeping my card from beeing happy, thats now the next on my todo list: [ 1102.004901] ------------[ cut here ]------------ [ 1102.004902] nouveau 0000:01:00.0: timeout [ 1102.004948] WARNING: CPU: 2 PID: 55 at drivers/gpu/drm/nouveau/nvkm/subdev/secboot/ls_ucode_msgqueue.c:183 acr_ls_sec2_post_run+0x139/0x190 [nouveau] [ 1102.004949] Modules linked in: rfcomm af_packet bnep btusb uvcvideo btrtl btbcm rtsx_usb_sdmmc btintel videobuf2_vmalloc rtsx_usb_ms videobuf2_memops mmc_core bluetooth memstick videobuf2_v4l2 videodev videobuf2_common ecdh_generic rtsx_usb snd_hda_codec_hdmi usbhid snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio nouveau arc4 nls_iso8859_1 nls_cp437 i915 vfat fat intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel ath10k_pci msr kvm ath10k_core snd_hda_intel irqbypass ath mxm_wmi snd_hda_codec ttm joydev mac80211 snd_hda_core drm_kms_helper crct10dif_pclmul snd_hwdep crc32_pclmul snd_pcm crc32c_intel drm hid_multitouch ghash_clmulni_intel snd_timer hid_generic iTCO_wdt aesni_intel mei_hdcp iTCO_vendor_support snd aes_x86_64 fb_sys_fops cfg80211 crypto_simd acerfan syscopyarea r8169 sysfillrect cryptd sysimgblt glue_helper realtek idma64 acer_wmi i2c_algo_bit mei_me libphy pcspkr sparse_keymap intel_lpss_pci intel_wmi_thunderbolt soundcore [ 1102.004965] intel_pch_thermal mei i2c_i801 intel_lpss rfkill wmi_bmof thermal tpm_crb tpm_tis pinctrl_sunrisepoint tpm_tis_core ac pinctrl_intel battery tpm button acpi_pad pcc_cpufreq xhci_pci xhci_hcd serio_raw usbcore i2c_hid wmi video sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua efivarfs autofs4 [ 1102.004972] CPU: 2 PID: 55 Comm: kworker/2:1 Not tainted 5.1.0-rc1-desktop-debug+ #80 [ 1102.004973] Hardware name: Acer Aspire VN7-593G/Pluto_KLS, BIOS V1.11 08/01/2018 [ 1102.004976] Workqueue: pm pm_runtime_work [ 1102.005007] RIP: 0010:acr_ls_sec2_post_run+0x139/0x190 [nouveau] [ 1102.005008] Code: 04 24 48 8b 40 10 48 8b 78 10 4c 8b 77 50 4d 85 f6 74 1e e8 b9 2d 6a dd 48 89 c6 4c 89 f2 48 c7 c7 39 15 fb c0 e8 8c b6 20 dd <0f> 0b e9 4c ff ff ff 4c 8b 77 10 eb dc 48 8b 04 24 48 8b 40 10 48 [ 1102.005009] RSP: 0018:ffffa45c00ee7ab8 EFLAGS: 00010296 [ 1102.005009] RAX: 000000000000001d RBX: ffff912f0e366900 RCX: 0000000000000006 [ 1102.005010] RDX: 0000000000000007 RSI: 0000000000000086 RDI: ffff912f3ec963f0 [ 1102.005010] RBP: 0000000000000000 R08: 00000000000003cb R09: 0000000000000004 [ 1102.005011] R10: 0000000000000000 R11: 0000000000000001 R12: ffff912f330cc400 [ 1102.005011] R13: 0000000000000040 R14: ffff912df09f0060 R15: ffff912df09f80b0 [ 1102.005012] FS: 0000000000000000(0000) GS:ffff912f3ec80000(0000) knlGS:0000000000000000 [ 1102.005012] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1102.005013] CR2: 00007fed2968e020 CR3: 000000028a728004 CR4: 00000000003606e0 [ 1102.005013] Call Trace: [ 1102.005044] acr_r352_bootstrap+0x16e/0x1d0 [nouveau] [ 1102.005073] acr_r352_reset+0x21/0x190 [nouveau] [ 1102.005105] gf100_gr_init_ctxctl_ext+0x59/0x500 [nouveau] [ 1102.005136] gf100_gr_init_ctxctl+0x19/0x270 [nouveau] [ 1102.005167] ? gf100_gr_init+0x533/0x570 [nouveau] [ 1102.005181] nvkm_engine_init+0xa2/0x120 [nouveau] [ 1102.005196] nvkm_subdev_init+0x8d/0xc0 [nouveau] [ 1102.005226] nvkm_device_init+0x107/0x190 [nouveau] [ 1102.005255] nvkm_udevice_init+0x3c/0x60 [nouveau] [ 1102.005269] nvkm_object_init+0x39/0x100 [nouveau] [ 1102.005284] nvkm_object_init+0x6c/0x100 [nouveau] [ 1102.005299] nvkm_object_init+0x6c/0x100 [nouveau] [ 1102.005328] nouveau_do_resume+0x23/0xb0 [nouveau] [ 1102.005357] nouveau_pmops_runtime_resume+0x7c/0x150 [nouveau] [ 1102.005360] ? pci_restore_standard_config+0x40/0x40 [ 1102.005361] pci_pm_runtime_resume+0x6f/0xc0 [ 1102.005362] ? pci_restore_standard_config+0x40/0x40 [ 1102.005363] __rpm_callback+0x76/0x120 [ 1102.005365] ? pci_restore_standard_config+0x40/0x40 [ 1102.005366] rpm_callback+0x1a/0x70 [ 1102.005367] ? pci_restore_standard_config+0x40/0x40 [ 1102.005368] rpm_resume+0x3f5/0x5f0 [ 1102.005369] pm_runtime_work+0x4e/0xa0 [ 1102.005370] process_one_work+0x1d4/0x360 [ 1102.005372] worker_thread+0x28/0x3c0 [ 1102.005372] ? process_one_work+0x360/0x360 [ 1102.005374] kthread+0x10d/0x130 [ 1102.005375] ? kthread_create_worker_on_cpu+0x40/0x40 [ 1102.005377] ret_from_fork+0x35/0x40 [ 1102.005378] ---[ end trace 7f8f178a306989b8 ]--- [ 1104.038578] nouveau 0000:01:00.0: secboot: error during falcon reset: -110 [ 1104.038587] nouveau 0000:01:00.0: gr: init failed, -110 [ 1104.039060] nouveau 0000:01:00.0: init failed with -110 [ 1104.039065] nouveau: X[1130]:00000000:00000080: init failed with -110 [ 1104.039068] nouveau: DRM-master:00000000:00000000: init failed with -110 [ 1104.039071] nouveau: DRM-master:00000000:00000000: init failed with -110 [ 1124.158101] nouveau 0000:01:00.0: DRM: failed to idle channel 1 [DRM] [ 1172.454422] Asynchronous wait on fence nouveau:X[1130]:eb timed out (hint:submit_notify+0x0/0x58 [i915]) [ 1192.533884] nouveau 0000:01:00.0: DRM: failed to idle channel 1 [DRM] [ 1192.533909] BUG: unable to handle kernel paging request at ffffa45d013d4ffc [ 1192.533910] #PF error: [WRITE] [ 1192.533911] PGD 107c3b067 P4D 107c3b067 PUD 0 [ 1192.533913] Oops: 0002 [#1] PREEMPT SMP PTI [ 1192.533914] CPU: 1 PID: 54 Comm: kworker/1:1 Tainted: G W 5.1.0-rc1-desktop-debug+ #80 [ 1192.533915] Hardware name: Acer Aspire VN7-593G/Pluto_KLS, BIOS V1.11 08/01/2018 [ 1192.533919] Workqueue: pm pm_runtime_work [ 1192.533988] RIP: 0010:evo_wait+0x55/0x130 [nouveau] [ 1192.533989] Code: 00 00 00 89 c3 4c 89 f7 e8 78 dc 88 dd 89 da 44 01 eb 48 8d 04 95 00 00 00 00 81 fb f7 03 00 00 0f 86 86 00 00 00 48 8b 45 70 <c7> 04 90 00 00 00 20 f6 45 58 01 74 09 48 8b 7d 28 e8 d5 e1 ff ff [ 1192.533990] RSP: 0018:ffffa45c00edfc90 EFLAGS: 00010216 [ 1192.533991] RAX: ffffa45c013d5000 RBX: 0000000040000001 RCX: 0000000000000000 [ 1192.533992] RDX: 000000003fffffff RSI: 0000000000000002 RDI: ffff912f115021d0 [ 1192.533993] RBP: ffff912f11502108 R08: 0000000000000404 R09: ffffa45c00edfa9f [ 1192.533994] R10: ffffa45c80ed3435 R11: 0000000000000050 R12: ffff912d86884350 [ 1192.533994] R13: 0000000000000002 R14: ffff912f115021d0 R15: 0000000000000008 [ 1192.533996] FS: 0000000000000000(0000) GS:ffff912f3ec40000(0000) knlGS:0000000000000000 [ 1192.533996] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1192.533997] CR2: ffffa45d013d4ffc CR3: 000000028a17e005 CR4: 00000000003606e0 [ 1192.533998] Call Trace: [ 1192.534045] core507d_init+0x18/0x70 [nouveau] [ 1192.534075] nv50_display_init+0x2f/0xf0 [nouveau] [ 1192.534104] nouveau_display_init+0x26/0xb0 [nouveau] [ 1192.534132] nouveau_display_resume+0x1e/0x70 [nouveau] [ 1192.534161] nouveau_do_suspend+0x160/0x190 [nouveau] [ 1192.534190] nouveau_pmops_runtime_suspend+0x3d/0xa0 [nouveau] [ 1192.534193] pci_pm_runtime_suspend+0x56/0x140 [ 1192.534195] ? __switch_to_asm+0x34/0x70 [ 1192.534196] ? pci_has_legacy_pm_support+0x60/0x60 [ 1192.534198] __rpm_callback+0x76/0x120 [ 1192.534200] ? pci_has_legacy_pm_support+0x60/0x60 [ 1192.534201] rpm_callback+0x1a/0x70 [ 1192.534202] ? pci_has_legacy_pm_support+0x60/0x60 [ 1192.534203] rpm_suspend+0xfa/0x490 [ 1192.534204] ? __switch_to_asm+0x40/0x70 [ 1192.534205] ? __switch_to_asm+0x34/0x70 [ 1192.534206] ? __switch_to_asm+0x40/0x70 [ 1192.534207] ? __switch_to_asm+0x34/0x70 [ 1192.534207] ? __switch_to_asm+0x40/0x70 [ 1192.534209] pm_runtime_work+0x7b/0xa0 [ 1192.534211] process_one_work+0x1d4/0x360 [ 1192.534212] worker_thread+0x28/0x3c0 [ 1192.534213] ? process_one_work+0x360/0x360 [ 1192.534215] kthread+0x10d/0x130 [ 1192.534216] ? kthread_create_worker_on_cpu+0x40/0x40 [ 1192.534217] ret_from_fork+0x35/0x40 [ 1192.534219] Modules linked in: rfcomm af_packet bnep btusb uvcvideo btrtl btbcm rtsx_usb_sdmmc btintel videobuf2_vmalloc rtsx_usb_ms videobuf2_memops mmc_core bluetooth memstick videobuf2_v4l2 videodev videobuf2_common ecdh_generic rtsx_usb snd_hda_codec_hdmi usbhid snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio nouveau arc4 nls_iso8859_1 nls_cp437 i915 vfat fat intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel ath10k_pci msr kvm ath10k_core snd_hda_intel irqbypass ath mxm_wmi snd_hda_codec ttm joydev mac80211 snd_hda_core drm_kms_helper crct10dif_pclmul snd_hwdep crc32_pclmul snd_pcm crc32c_intel drm hid_multitouch ghash_clmulni_intel snd_timer hid_generic iTCO_wdt aesni_intel mei_hdcp iTCO_vendor_support snd aes_x86_64 fb_sys_fops cfg80211 crypto_simd acerfan syscopyarea r8169 sysfillrect cryptd sysimgblt glue_helper realtek idma64 acer_wmi i2c_algo_bit mei_me libphy pcspkr sparse_keymap intel_lpss_pci intel_wmi_thunderbolt soundcore [ 1192.534235] intel_pch_thermal mei i2c_i801 intel_lpss rfkill wmi_bmof thermal tpm_crb tpm_tis pinctrl_sunrisepoint tpm_tis_core ac pinctrl_intel battery tpm button acpi_pad pcc_cpufreq xhci_pci xhci_hcd serio_raw usbcore i2c_hid wmi video sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua efivarfs autofs4 [ 1192.534243] CR2: ffffa45d013d4ffc [ 1192.534244] ---[ end trace 7f8f178a306989b9 ]--- [ 1192.534270] RIP: 0010:evo_wait+0x55/0x130 [nouveau] [ 1192.534271] Code: 00 00 00 89 c3 4c 89 f7 e8 78 dc 88 dd 89 da 44 01 eb 48 8d 04 95 00 00 00 00 81 fb f7 03 00 00 0f 86 86 00 00 00 48 8b 45 70 <c7> 04 90 00 00 00 20 f6 45 58 01 74 09 48 8b 7d 28 e8 d5 e1 ff ff [ 1192.534272] RSP: 0018:ffffa45c00edfc90 EFLAGS: 00010216 [ 1192.534273] RAX: ffffa45c013d5000 RBX: 0000000040000001 RCX: 0000000000000000 [ 1192.534274] RDX: 000000003fffffff RSI: 0000000000000002 RDI: ffff912f115021d0 [ 1192.534275] RBP: ffff912f11502108 R08: 0000000000000404 R09: ffffa45c00edfa9f [ 1192.534275] R10: ffffa45c80ed3435 R11: 0000000000000050 R12: ffff912d86884350 [ 1192.534276] R13: 0000000000000002 R14: ffff912f115021d0 R15: 0000000000000008 [ 1192.534277] FS: 0000000000000000(0000) GS:ffff912f3ec40000(0000) knlGS:0000000000000000 [ 1192.534278] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1192.534278] CR2: ffffa45d013d4ffc CR3: 000000028a17e005 CR4: 00000000003606e0
Reasonably Related Threads
- Nouveau dmem NULL Pointer deref (SVM)
- [PATCH] nouveau/hmm: fix nouveau_dmem_chunk allocations
- [PATCH] drm/nouveau/dmem: missing mutex_lock in error path
- [PATCH] drm/nouveau/dmem: Fix a NULL vs IS_ERR() check
- [PATCH drm-misc-next] nouveau/dmem: fix copy-paste error in nouveau_dmem_migrate_chunk()