提交 349a3b1c 编写于 作者: C Cao jin 提交者: Michael S. Tsirkin

igd-passthrough: fix use of host_pci_config_read

Fix the bug introduced by 595a4f07: function host_pci_config_read() should be
pass-by-reference, not value.
This probably means this function never worked for anyone.
Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
上级 c8e6c938
...@@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = { ...@@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
{0xa8, 4}, /* SNB: base of GTT stolen memory */ {0xa8, 4}, /* SNB: base of GTT stolen memory */
}; };
static int host_pci_config_read(int pos, int len, uint32_t val) static int host_pci_config_read(int pos, int len, uint32_t *val)
{ {
char path[PATH_MAX]; char path[PATH_MAX];
int config_fd; int config_fd;
...@@ -784,12 +784,14 @@ static int host_pci_config_read(int pos, int len, uint32_t val) ...@@ -784,12 +784,14 @@ static int host_pci_config_read(int pos, int len, uint32_t val)
ret = -errno; ret = -errno;
goto out; goto out;
} }
do { do {
rc = read(config_fd, (uint8_t *)&val, len); rc = read(config_fd, (uint8_t *)val, len);
} while (rc < 0 && (errno == EINTR || errno == EAGAIN)); } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
if (rc != len) { if (rc != len) {
ret = -errno; ret = -errno;
} }
out: out:
close(config_fd); close(config_fd);
return ret; return ret;
...@@ -805,7 +807,7 @@ static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev) ...@@ -805,7 +807,7 @@ static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
pos = igd_host_bridge_infos[i].offset; pos = igd_host_bridge_infos[i].offset;
len = igd_host_bridge_infos[i].len; len = igd_host_bridge_infos[i].len;
rc = host_pci_config_read(pos, len, val); rc = host_pci_config_read(pos, len, &val);
if (rc) { if (rc) {
return -ENODEV; return -ENODEV;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册