[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 03/10] i2c:pm_smbus: Make the I2C block read comm
From: |
minyard |
Subject: |
[Qemu-devel] [PATCH v2 03/10] i2c:pm_smbus: Make the I2C block read command read-only |
Date: |
Mon, 20 Aug 2018 15:26:03 -0500 |
From: Corey Minyard <address@hidden>
It did have write capability, but the manual says the behavior
with write enabled is undefined. So just set an error in this
case.
Signed-off-by: Corey Minyard <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Cc: Paolo Bonzini <address@hidden>
---
hw/i2c/pm_smbus.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/hw/i2c/pm_smbus.c b/hw/i2c/pm_smbus.c
index f1fe889..dc61f2c 100644
--- a/hw/i2c/pm_smbus.c
+++ b/hw/i2c/pm_smbus.c
@@ -55,7 +55,7 @@
#define PROT_WORD_DATA 3
#define PROT_PROC_CALL 4
#define PROT_BLOCK_DATA 5
-#define PROT_I2C_BLOCK_DATA 6
+#define PROT_I2C_BLOCK_READ 6
/*#define DEBUG*/
@@ -115,7 +115,7 @@ static void smb_transaction(PMSMBus *s)
goto done;
}
break;
- case PROT_I2C_BLOCK_DATA:
+ case PROT_I2C_BLOCK_READ:
if (read) {
int xfersize = s->smb_data0;
if (xfersize > sizeof(s->smb_data)) {
@@ -125,9 +125,8 @@ static void smb_transaction(PMSMBus *s)
xfersize, false, true);
goto data8;
} else {
- ret = smbus_write_block(bus, addr, cmd, s->smb_data, s->smb_data0,
- false);
- goto done;
+ /* The manual says the behavior is undefined, just set DEV_ERR. */
+ goto error;
}
break;
default:
--
2.7.4
- [Qemu-devel] [PATCH v2 08/10] i2c:pm_smbus: Add the ability to force block transfer enable, (continued)
- [Qemu-devel] [PATCH v2 08/10] i2c:pm_smbus: Add the ability to force block transfer enable, minyard, 2018/08/20
- [Qemu-devel] [PATCH v2 09/10] i2c: Add an SMBus vmstate structure, minyard, 2018/08/20
- [Qemu-devel] [PATCH v2 05/10] i2c:pm_smbus: Fix state transfer, minyard, 2018/08/20
- [Qemu-devel] [PATCH v2 10/10] i2c: Add vmstate handling to the smbus eeprom, minyard, 2018/08/20
- [Qemu-devel] [PATCH v2 03/10] i2c:pm_smbus: Make the I2C block read command read-only,
minyard <=
- [Qemu-devel] [PATCH v2 06/10] i2c:pm_smbus: Add interrupt handling, minyard, 2018/08/20
- [Qemu-devel] [PATCH v2 07/10] Don't delay host status register busy bit when interrupts are enabled, minyard, 2018/08/20
- Re: [Qemu-devel] [PATCH v2 0/8] Make the pm_smbus code more correct, Paolo Bonzini, 2018/08/21