NVIDIA / NVIDIA/open-gpu-kernel-modules

[Bug]: GSP task exception (Xid 120) causes dGPU to disappear from PCI bus after suspend on RTX 5060 laptop (driver 610.57.04)

Open
#1,325 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C
Stars
17.4k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

NVIDIA Open GPU Kernel Modules Version

610.57.04

Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver.
  • I confirm that this does not happen with the proprietary driver package.
Operating System and Version

Fedora Linux 44 (Workstation Edition)

Kernel Release

Linux fedora 7.1.10-200.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Aug 23 16:15:11 UTC 2026 x86_64 GNU/Linux

Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.
  • I am running on a stable kernel release.
Hardware: GPU

GPU 0: NVIDIA GeForce RTX 5060 Laptop GPU (UUID: GPU-0cbfb806-4fdb-15e6-3dad-ab503d487003)

Describe the bug

After suspending my laptop (systemctl suspend or just closing the lid), the NVIDIA dGPU doesn't come back when I resume. nvidia-smi can't find the device at all, and it's not just powered down, it's completely gone from the PCI bus until I do a full reboot.

I've tested this with /sys/bus/pci/devices/0000:01:00.0/power/control forced to both auto and on, and it happens either way. So it doesn't seem to be an RTD3/D3cold issue, it looks like a GSP firmware fault happening during the suspend transition itself.

To Reproduce

Boot normally and confirm the dGPU is present via nvidia-smi and lspci -D | grep -i nvidia.
Suspend the system (systemctl suspend, or just close the lid).
Resume.
The display may come back on the iGPU only, or hang. nvidia-smi reports no devices found, and lspci -D no longer lists the NVIDIA GPU at all.
A full reboot is needed to get the GPU back. A PCI rescan (echo 1 > /sys/bus/pci/devices/0000:01:00.0/rescan) doesn't bring it back.

Bug Incidence

Always

nvidia-bug-report.log.gz

nvidia-bug-report.log.gz

More Info

Relevant kernel log (journalctl -k)
NVRM: GPU at PCI:0000:01:00: GPU-0cbfb806-4fdb-15e6-3dad-ab503d487003
NVRM: Xid (PCI:0000:01:00): 120, GSP task exception: load access page fault (cause:0xd) @ pc:0x13636b2, partition:4#0, task:3, gfid: 0
NVRM: Xid (PCI:0000:01:00): 154, GPU recovery action changed from 0x0 (None) to 0x1 (PF FLR)
WARNING: nvidia/nv.c:4903 at nv_suspend_devices+0x3bf/0x4a0 [nvidia], CPU#8: systemd-sleep/31188
...
RIP: 0010:nv_suspend_devices+0x3bf/0x4a0 [nvidia]
nv_set_system_power_state.part.0+0x72/0x1b0 [nvidia]
nv_pm_notifier+0x35/0xa0 [nvidia]
WARNING: nvidia/nv.c:4524 at nv_restore_user_channels+0x4e/0x1f0 [nvidia], CPU#8: systemd-sleep/31188
...
nvidia-modeset: ERROR: GPU:0: Failed to determine display capabilities
nvidia-modeset: ERROR: GPU:0: Failed to tear down Disp
nvidia-modeset: WARNING: GPU:0: Failed to disable hotplug notifications (subdevice: 0) (error: 0x1)
nvidia-modeset: WARNING: GPU:0: Failed to disable HDMI FRL retrain notifications (subdevice: 0) (error: 0x1)
WARNING: nvidia/nv.c:4574 at nv_suspend_devices+0x2ec/0x4a0 [nvidia], CPU#4: systemd-sleep/31188
WARNING: nvidia/nv.c:4872 at nv_suspend_devices+0x308/0x4a0 [nvidia], CPU#4: systemd-sleep/31188
WARNING: nvidia/nv.c:4524 at nv_restore_user_channels+0x4e/0x1f0 [nvidia], CPU#4: systemd-sleep/31188
nv_suspend_devices+0x343/0x4a0 [nvidia]
nv_set_system_power_state.part.0+0x72/0x1b0 [nvidia]
nv_pm_notifier+0x35/0xa0 [nvidia]
[drm:__nv_drm_detect_encoder [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to detect display state
NVRM: RmHandleDNotifierEvent: RmHandleDNotifierEvent: Failed to handle ACPI D-Notifier event, status=0x62

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure with systemctl suspend and capture journalctl -k alongside nvidia-smi and lspci -D. Start in nvidia/nv.c around nv_suspend_devices, nv_set_system_power_state, nv_pm_notifier, and nv_restore_user_channels, using the reported Xid 120 and suspend warnings as the trace. Done means the RTX 5060 remains visible on the PCI bus after resume without the reported recovery failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.