]> Git Repo - qemu.git/blobdiff - hw/i2c.c
Merge remote branch 'kwolf/for-anthony' into staging
[qemu.git] / hw / i2c.c
index 6cd4701a9693572f502092cbc3211770cac26dca..bee8e88c6bc38351de754c53005928b371e881d5 100644 (file)
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -85,9 +85,11 @@ int i2c_start_transfer(i2c_bus *bus, uint8_t address, int recv)
     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)
@@ -189,6 +191,6 @@ DeviceState *i2c_create_slave(i2c_bus *bus, const char *name, uint8_t addr)
 
     dev = qdev_create(&bus->qbus, name);
     qdev_prop_set_uint8(dev, "address", addr);
-    qdev_init(dev);
+    qdev_init_nofail(dev);
     return dev;
 }
This page took 0.026257 seconds and 4 git commands to generate.