i2c_slave *slave = NULL;
QLIST_FOREACH(qdev, &bus->qbus.children, sibling) {
- slave = I2C_SLAVE_FROM_QDEV(qdev);
- if (slave->address == address)
+ i2c_slave *candidate = I2C_SLAVE_FROM_QDEV(qdev);
+ if (candidate->address == address) {
+ slave = candidate;
break;
+ }
}
if (!slave)
dev = qdev_create(&bus->qbus, name);
qdev_prop_set_uint8(dev, "address", addr);
- qdev_init(dev);
+ qdev_init_nofail(dev);
return dev;
}