On Wed, Apr 24, 2019 at 09:11:48AM -0500, Bjorn Helgaas wrote: > - Maybe the PCI sysfs accessors (pci_mmap_resource(), etc) should > turn off runtime PM? If we allow mmap of a BAR and then put the > device in D3hot, that seems like a bug that could affect lots of > things. But maybe that's already done magically elsewhere? IIRC there is no PM magic happening for MMIO userspace accesses. What you suggest above sounds like a good way to fix it. We already do similar for config space access from userspace (if the device is in D3cold) so definitely makes sense to do the same for MMIO. However, I don't think we need to disable runtime PM - it should be enough to increase the reference count (pm_runtime_get_sync() and friends) during the time the MMIO resource is mmapped.