[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 03/14] i2c:pm_smbus: Make the I2C block read command
From: |
minyard |
Subject: |
[Qemu-devel] [PATCH 03/14] i2c:pm_smbus: Make the I2C block read command read-only |
Date: |
Thu, 7 Dec 2017 15:46:10 -0600 |
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 679edbc..e7a8e92 100644
--- a/hw/i2c/pm_smbus.c
+++ b/hw/i2c/pm_smbus.c
@@ -56,7 +56,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*/
@@ -113,7 +113,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)) {
@@ -123,9 +123,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 00/13] pm_smbus fixes and and IPMI SMBus device, minyard, 2017/12/07
- [Qemu-devel] [PATCH 02/14] i2c:pm_smbus: Fix the semantics of block I2C transfers, minyard, 2017/12/07
- [Qemu-devel] [PATCH 04/14] i2c:pm_smbus: Add block transfer capability, minyard, 2017/12/07
- [Qemu-devel] [PATCH 05/14] i2c:pm_smbus: Fix state transfer, minyard, 2017/12/07
- [Qemu-devel] [PATCH 06/14] i2c:pm_smbus: Add interrupt handling, minyard, 2017/12/07
- [Qemu-devel] [PATCH 09/14] i2c: Add vmstate handling to the smbus eeprom, minyard, 2017/12/07
- [Qemu-devel] [PATCH 01/14] i2c:pm_smbus: Clean up some style issues, minyard, 2017/12/07
- [Qemu-devel] [PATCH 07/14] i2c:pm_smbus: Add the ability to force block transfer enable, minyard, 2017/12/07
- [Qemu-devel] [PATCH 03/14] i2c:pm_smbus: Make the I2C block read command read-only,
minyard <=
- [Qemu-devel] [PATCH 10/14] ipmi: Add an SMBus IPMI interface, minyard, 2017/12/07
- [Qemu-devel] [PATCH 08/14] i2c: Add an SMBus vmstate structure, minyard, 2017/12/07
- [Qemu-devel] [PATCH 12/14] ipmi: Fix SSIF ACPI handling to use the right CRS, minyard, 2017/12/07
- [Qemu-devel] [PATCH 11/14] acpi: Add i2c serial bus CRS handling, minyard, 2017/12/07
- [Qemu-devel] [PATCH 13/14] i386: Rename bools in PCMachineState to end in _enabled, minyard, 2017/12/07
- [Qemu-devel] [PATCH 14/14] pc: Add an SMB0 ACPI device to q35, minyard, 2017/12/07