--- x/drivers/i2c/i2c-core-base.c +++ y/drivers/i2c/i2c-core-base.c @@ -1844,7 +1844,7 @@ void i2c_del_adapter(struct i2c_adapter */ init_completion(&adap->dev_released); device_unregister(&adap->dev); - wait_for_completion(&adap->dev_released); + wait_for_completion_timeout(&adap->dev_released, 50 * HZ); /* free bus id */ mutex_lock(&core_lock);