Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34700631 authored by Min He's avatar Min He Committed by Zhenyu Wang
Browse files

drm/i915/gvt: fix an issue in emulating cfg space PCI_COMMAND



There's an issue in current cfg space emulation for PCI_COMMAND (offset
0x4): when guest changes some bits other than PCI_COMMAND_MEMORY, this
write operation will not be written to virutal cfg space successfully.

This patch is to fix the wrong behavior above.

Signed-off-by: default avatarMin He <min.he@intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
parent 8ff842fd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ static int emulate_pci_command_write(struct intel_vgpu *vgpu,
	u8 changed = old ^ new;
	int ret;

	memcpy(vgpu_cfg_space(vgpu) + offset, p_data, bytes);
	if (!(changed & PCI_COMMAND_MEMORY))
		return 0;

@@ -142,7 +143,6 @@ static int emulate_pci_command_write(struct intel_vgpu *vgpu,
			return ret;
	}

	memcpy(vgpu_cfg_space(vgpu) + offset, p_data, bytes);
	return 0;
}