Hi Slawomir, On Tue, Oct 08, 2019 at 06:39:56PM +0200, Slawomir Stepien wrote: > From: Sławomir Stępień > > There is a race condition between the i2c_get_adapter() and the > i2c_add_adapter() if this mutex isn't hold for the whole execution of > i2c_register_adapter(). > > If the mutex isn't locked, it is possible to find idr that points to > adapter that hasn't been registered yet (i.e. it's > kobj.state_initialized is still false), which will end up with warning > message: > > "... is not initialized, yet kobject_get() is being called." > > This patch will change how the locking is arranged around > i2c_register_adapter() call and will prevent such situations. The part > of the i2c_register_adapter() that do not need to be under the lock has > been moved to a new function i2c_process_adapter. > > Signed-off-by: Sławomir Stępień Thank you for tackling this one and sorry for the late reply. Do you have a test case for me so I could reproduce the bad case here? Kind regards, Wolfram