hw/virtio/virtio-pmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Wang Liang <wangliangzz@inspur.com>
ret in virtio_pmem_resp is a uint32_t variable, which should be assigned
using virtio_stl_p.
The kernel side driver does not guarantee virtio_pmem_resp to be initialized
to zero in advance, So sometimes the flush operation will fail.
Signed-off-by: Wang Liang <wangliangzz@inspur.com>
---
hw/virtio/virtio-pmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c
index a3e0688a89..d1aeb90a31 100644
--- a/hw/virtio/virtio-pmem.c
+++ b/hw/virtio/virtio-pmem.c
@@ -47,7 +47,7 @@ static int worker_cb(void *opaque)
err = 1;
}
- virtio_stw_p(req_data->vdev, &req_data->resp.ret, err);
+ virtio_stl_p(req_data->vdev, &req_data->resp.ret, err);
return 0;
}
--
2.27.0
On Tue, Mar 16, 2021 at 10:41:45PM -0400, wangliangzz@126.com wrote: >From: Wang Liang <wangliangzz@inspur.com> > >ret in virtio_pmem_resp is a uint32_t variable, which should be assigned >using virtio_stl_p. > >The kernel side driver does not guarantee virtio_pmem_resp to be initialized >to zero in advance, So sometimes the flush operation will fail. > >Signed-off-by: Wang Liang <wangliangzz@inspur.com> >--- > hw/virtio/virtio-pmem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
> ret in virtio_pmem_resp is a uint32_t variable, which should be assigned > using virtio_stl_p. > > The kernel side driver does not guarantee virtio_pmem_resp to be initialized > to zero in advance, So sometimes the flush operation will fail. > > Signed-off-by: Wang Liang <wangliangzz@inspur.com> > --- > hw/virtio/virtio-pmem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c > index a3e0688a89..d1aeb90a31 100644 > --- a/hw/virtio/virtio-pmem.c > +++ b/hw/virtio/virtio-pmem.c > @@ -47,7 +47,7 @@ static int worker_cb(void *opaque) > err = 1; > } > > - virtio_stw_p(req_data->vdev, &req_data->resp.ret, err); > + virtio_stl_p(req_data->vdev, &req_data->resp.ret, err); > > return 0; > } Thanks! Reviewed-by: Pankaj Gupta <pankaj.gupta@cloud.ionos.com>
On 17.03.21 03:41, wangliangzz@126.com wrote: > From: Wang Liang <wangliangzz@inspur.com> > > ret in virtio_pmem_resp is a uint32_t variable, which should be assigned > using virtio_stl_p. > > The kernel side driver does not guarantee virtio_pmem_resp to be initialized > to zero in advance, So sometimes the flush operation will fail. > > Signed-off-by: Wang Liang <wangliangzz@inspur.com> > --- > hw/virtio/virtio-pmem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/virtio/virtio-pmem.c b/hw/virtio/virtio-pmem.c > index a3e0688a89..d1aeb90a31 100644 > --- a/hw/virtio/virtio-pmem.c > +++ b/hw/virtio/virtio-pmem.c > @@ -47,7 +47,7 @@ static int worker_cb(void *opaque) > err = 1; > } > > - virtio_stw_p(req_data->vdev, &req_data->resp.ret, err); > + virtio_stl_p(req_data->vdev, &req_data->resp.ret, err); > > return 0; > } > Reviewed-by: David Hildenbrand <david@redhat.com> -- Thanks, David / dhildenb
© 2016 - 2025 Red Hat, Inc.