Commit 4d03e3cc59828c82ee89ea6e27a2f3cdf95aaadf (“fs: don’t allow kernel reads and writes without iter ops”) changed the semantics of kernel_read()
. The NVIDIA driver relies(?) on reading the PCI device’s configuration to suspend(?) the device in nv_indicate_idle()
(?). This results in the following kernel warnings:
kernel read not supported for file pci0000:00/0000:00:01.0/0000:01:00.0/config (pid: ... comm: ...)
And the device is not suspended. As a workaround, running cat "/sys/bus/pci/devices/0000:01:00.0/config" > /dev/null
seems to achieve the desired effect on the device’s state, and it is suspended after that. (Alternatively, dd if="/sys/bus/pci/devices/0000:01:00.0/config" bs=1 count=1 of=/dev/null
mimics the behaviour of the NVIDIA driver better.)
Kernel version: 5.10.4-1-MANJARO
NVIDIA driver version: 455.45.01