2019-03-29 14:12:17 +08:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2018-10-11 02:06:46 +08:00
|
|
|
From: Mateusz Polrola <mateuszx.potrola@intel.com>
|
|
|
|
Date: Tue, 21 Aug 2018 11:19:53 +0200
|
2019-03-29 14:12:17 +08:00
|
|
|
Subject: [PATCH] hyper_dmabuf/virtio: bugfix on acrn_ioreq_add_iorange() usage
|
2018-10-11 02:06:46 +08:00
|
|
|
|
|
|
|
Align usage of acrn_ioreq_add_iorange according to description
|
|
|
|
of change: "VBS-K: bugfix on cwp_ioreq_add_iorange() usage":
|
|
|
|
|
|
|
|
"However, previous VBS-K rng reference driver mistakenly uses "start"
|
|
|
|
and "start + len". This leads to the fact that VBS-K not only
|
|
|
|
hooked "kick" register, VIRTIO_PCI_QUEUE_NOTIFY, but also "status"
|
|
|
|
register, VIRTIO_PCI_STATUS, mistakenly."
|
|
|
|
|
|
|
|
Signed-off-by: Mateusz Polrola <mateuszx.potrola@intel.com>
|
|
|
|
---
|
|
|
|
.../hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c | 8 ++++----
|
|
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c b/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c
|
2020-10-27 02:14:06 +08:00
|
|
|
index a89d557c7c4c..c84b2dd746a3 100644
|
2018-10-11 02:06:46 +08:00
|
|
|
--- a/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c
|
|
|
|
+++ b/drivers/dma-buf/hyper_dmabuf/virtio/hyper_dmabuf_virtio_be_drv.c
|
|
|
|
@@ -234,7 +234,7 @@ static int virtio_be_register_vhm_client(struct virtio_dev_info *d)
|
|
|
|
ret = acrn_ioreq_add_iorange(fe_info->client_id,
|
|
|
|
d->io_range_type ? REQ_MMIO : REQ_PORTIO,
|
|
|
|
d->io_range_start,
|
|
|
|
- d->io_range_start + d->io_range_len);
|
|
|
|
+ d->io_range_start + d->io_range_len - 1);
|
|
|
|
|
|
|
|
if (ret < 0) {
|
|
|
|
dev_err(hy_drv_priv->dev,
|
|
|
|
@@ -247,7 +247,7 @@ static int virtio_be_register_vhm_client(struct virtio_dev_info *d)
|
|
|
|
acrn_ioreq_del_iorange(fe_info->client_id,
|
|
|
|
d->io_range_type ? REQ_MMIO : REQ_PORTIO,
|
|
|
|
d->io_range_start,
|
|
|
|
- d->io_range_start + d->io_range_len);
|
|
|
|
+ d->io_range_start + d->io_range_len - 1);
|
|
|
|
|
|
|
|
dev_err(hy_drv_priv->dev, "Failed in vhm_get_vm_info\n");
|
|
|
|
goto err;
|
|
|
|
@@ -260,7 +260,7 @@ static int virtio_be_register_vhm_client(struct virtio_dev_info *d)
|
|
|
|
acrn_ioreq_del_iorange(fe_info->client_id,
|
|
|
|
d->io_range_type ? REQ_MMIO : REQ_PORTIO,
|
|
|
|
d->io_range_start,
|
|
|
|
- d->io_range_start + d->io_range_len);
|
|
|
|
+ d->io_range_start + d->io_range_len - 1);
|
|
|
|
|
|
|
|
dev_err(hy_drv_priv->dev, "Failed in acrn_ioreq_get_reqbuf\n");
|
|
|
|
goto err;
|
|
|
|
@@ -326,7 +326,7 @@ static void cleanup_fe(struct virtio_fe_info *fe_info, void *attr)
|
|
|
|
acrn_ioreq_del_iorange(fe_info->client_id,
|
|
|
|
priv->dev.io_range_type ? REQ_MMIO : REQ_PORTIO,
|
|
|
|
priv->dev.io_range_start,
|
|
|
|
- priv->dev.io_range_start + priv->dev.io_range_len);
|
|
|
|
+ priv->dev.io_range_start + priv->dev.io_range_len - 1);
|
|
|
|
|
|
|
|
acrn_ioreq_destroy_client(fe_info->client_id);
|
|
|
|
virtio_fe_remove(fe_info->client_id);
|
|
|
|
--
|
2019-04-08 18:08:36 +08:00
|
|
|
https://clearlinux.org
|
2018-10-11 02:06:46 +08:00
|
|
|
|