On Mon, Nov 15, 2021 at 07:25:45PM +0100, Iwona Winiarska wrote: > +void peci_device_destroy(struct peci_device *device) > +{ > + bool killed; > + > + device_lock(&device->dev); > + killed = kill_device(&device->dev); Eeek, why call this? > + device_unlock(&device->dev); > + > + if (!killed) > + return; What happened if something changed after you unlocked it? Why is kill_device() required at all? That's a very rare function to call, and one that only one "bus" calls today because it is very special (i.e. crazy and broken...) thanks, greg k-h