On Wed, Jun 21, 2023 at 05:40:17PM +0300, Abel Vesa wrote: > This can be used by drivers to figure out if a different device > driver has state synced or not for a specific device. > > Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxx> > --- > include/linux/device.h | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/include/linux/device.h b/include/linux/device.h > index bae11928ef7e..8f042f04b5d9 100644 > --- a/include/linux/device.h > +++ b/include/linux/device.h > @@ -1007,6 +1007,20 @@ static inline int dev_set_drv_sync_state(struct device *dev, > return 0; > } > > +static inline bool dev_is_drv_state_synced(struct device *dev) > +{ > + bool ret = false; > + > + if (!dev) > + return ret; > + > + device_lock(dev); > + ret = dev->state_synced; > + device_unlock(dev); This lock is "protecting" nothing, given that the value can instantly change after it is read. Because it can change, how will this function actually show anything relevant? thanks, greg k-h