On Sun, Apr 18, 2021 at 11:43 AM Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > I'm still far from completely convinced that it is 'necessary' > to take the reference whilst going through this sequence because > there is nothing to kick off the suspend until we tell it to use > autosuspend. However, I appreciate (much like taking locks in > general in probe) that it makes it easy to see there is no race. One part is related to hierarchy, in the past if this device would sit on a I2C bus on an PCIE card, unless you take a reference (that escalate upwards) the I2C bus host or PCIE card may decide to go and runtime suspend, cutting communication with your device. Since 04f59143b571 the power state of I2C buses are decoupled from the clients and we decided that the I2C (as well as SPI hosts, separate commit) shall make sure PM resume themselves when transmitting messages to clients. So in this case, since it is an I2C device, we are probably fine without grabbing a reference. But this is not a general rule for any (non-slow) bus, so the idiomatic pattern to follow is better like this. Yours, Linus Walleij