> sh_eth is not configured for autosuspend and uses only pm_runtime_put(). I don't know the runtime power management code very well. We should probably ask somebody how does. However: https://elixir.bootlin.com/linux/latest/source/drivers/base/power/runtime.c#L168 This suggests it should be safe to perform an auto suspend on a device which is not configured for auto suspend. To me, it looks like is should directly suspend. Devices are in a tree. If you suspend a leaf, you can walk up the tree and suspend its parent as well, if it is not needed. Similarly, if you wake a leaf, you need its parents awake as well, so you need to walk up the tree and wake them. In order for this to work reliably, i expect runtime PM to be very tolerant. If a device is not configured for runtime PM, actions should be a NOP. If it is not configured for auto suspend, and you ask it to auto suspend, to me, it would make sense for it to immediately suspend, etc. > Please provide your views on this. Your inputs on the next course of action > would be helpful. I would suggest you talk to somebody who knows about runtime PM. Andrew