[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] fix I2C slave addressing
From: |
Juha Riihimäki |
Subject: |
[Qemu-devel] [PATCH] fix I2C slave addressing |
Date: |
Mon, 8 Jun 2009 09:27:19 +0300 |
With the recent device handling changes the I2C slave addressing code
was broken. With current code, if a slave with the correct address is
not found on the bus the last scanned slave on the bus will be
addressed. This is wrong. Please find attached a patch to fix it.
Signed-off-by: Juha Riihimäki <address@hidden>
---
diff --git a/hw/i2c.c b/hw/i2c.c
index 8a0c4d7..e1dacef 100644
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -69,9 +69,11 @@ int i2c_start_transfer(i2c_bus *bus, int address,
int recv)
i2c_slave *slave = NULL;
LIST_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)
i2c.diff
Description: Binary data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] fix I2C slave addressing,
Juha Riihimäki <=