mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
hw/cxl: Correctly handle variable sized mailbox input payloads.
A placeholder of ~0 is used to indicate variable payload size.
Whilst the checks for output payload correctly took this into
account, those for input payload did not.
This results in failure of the Set LSA command.
Fixes: 464e14ac43
("hw/cxl/device: Implement basic mailbox (8.2.8.4)")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220817145759.32603-4-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
66a2356485
commit
4f41b4e445
1 changed files with 1 additions and 1 deletions
|
@ -425,7 +425,7 @@ void cxl_process_mailbox(CXLDeviceState *cxl_dstate)
|
|||
cxl_cmd = &cxl_cmd_set[set][cmd];
|
||||
h = cxl_cmd->handler;
|
||||
if (h) {
|
||||
if (len == cxl_cmd->in) {
|
||||
if (len == cxl_cmd->in || cxl_cmd->in == ~0) {
|
||||
cxl_cmd->payload = cxl_dstate->mbox_reg_state +
|
||||
A_CXL_DEV_CMD_PAYLOAD;
|
||||
ret = (*h)(cxl_cmd, cxl_dstate, &len);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue