提交 00bdfeab 编写于 作者: C Corey Minyard 提交者: Paolo Bonzini

i2c: pm_smbus: Make the I2C block read command read-only

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: NCorey Minyard <cminyard@mvista.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <1534796770-10295-4-git-send-email-minyard@acm.org>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 4b615be5
......@@ -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:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册