Commit 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
iterator") introduced a pointer to the Object DeviceState in the VFIO
common base-device and skiped non-realized devices as we iterate
VFIOGroup.device_list. While it missed to initialize the pointer for
the vfio-ccw case. Let's fix it.
Fixes: 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
iterator")
Cc: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
---
hw/vfio/ccw.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
index 8d97b53e77..a8baadf57a 100644
--- a/hw/vfio/ccw.c
+++ b/hw/vfio/ccw.c
@@ -338,6 +338,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp)
vcdev->vdev.type = VFIO_DEVICE_TYPE_CCW;
vcdev->vdev.name = g_strdup_printf("%x.%x.%04x", cdev->hostid.cssid,
cdev->hostid.ssid, cdev->hostid.devid);
+ vcdev->vdev.dev = dev;
QLIST_FOREACH(vbasedev, &group->device_list, next) {
if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) {
error_setg(&err, "vfio: subchannel %s has already been attached",
--
2.11.2
On Tue, 18 Jul 2017 03:49:26 +0200
Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> Commit 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
> iterator") introduced a pointer to the Object DeviceState in the VFIO
> common base-device and skiped non-realized devices as we iterate
> VFIOGroup.device_list. While it missed to initialize the pointer for
> the vfio-ccw case. Let's fix it.
>
> Fixes: 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
> iterator")
Sorry for that.
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> ---
> hw/vfio/ccw.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> index 8d97b53e77..a8baadf57a 100644
> --- a/hw/vfio/ccw.c
> +++ b/hw/vfio/ccw.c
> @@ -338,6 +338,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp)
> vcdev->vdev.type = VFIO_DEVICE_TYPE_CCW;
> vcdev->vdev.name = g_strdup_printf("%x.%x.%04x", cdev->hostid.cssid,
> cdev->hostid.ssid, cdev->hostid.devid);
> + vcdev->vdev.dev = dev;
> QLIST_FOREACH(vbasedev, &group->device_list, next) {
> if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) {
> error_setg(&err, "vfio: subchannel %s has already been attached",
* Alex Williamson <alex.williamson@redhat.com> [2017-07-17 20:26:53 -0600]:
> On Tue, 18 Jul 2017 03:49:26 +0200
> Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
>
> > Commit 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
> > iterator") introduced a pointer to the Object DeviceState in the VFIO
> > common base-device and skiped non-realized devices as we iterate
> > VFIOGroup.device_list. While it missed to initialize the pointer for
> > the vfio-ccw case. Let's fix it.
> >
> > Fixes: 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
> > iterator")
>
> Sorry for that.
No problem.
>
> Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Thanks! :D
>
> > Cc: Alex Williamson <alex.williamson@redhat.com>
> > Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> > ---
> > hw/vfio/ccw.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> > index 8d97b53e77..a8baadf57a 100644
> > --- a/hw/vfio/ccw.c
> > +++ b/hw/vfio/ccw.c
> > @@ -338,6 +338,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp)
> > vcdev->vdev.type = VFIO_DEVICE_TYPE_CCW;
> > vcdev->vdev.name = g_strdup_printf("%x.%x.%04x", cdev->hostid.cssid,
> > cdev->hostid.ssid, cdev->hostid.devid);
> > + vcdev->vdev.dev = dev;
> > QLIST_FOREACH(vbasedev, &group->device_list, next) {
> > if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) {
> > error_setg(&err, "vfio: subchannel %s has already been attached",
>
--
Dong Jia Shi
On Tue, 18 Jul 2017 03:49:26 +0200
Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> wrote:
> Commit 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
> iterator") introduced a pointer to the Object DeviceState in the VFIO
> common base-device and skiped non-realized devices as we iterate
s/skiped/skipped/
I'll fix this while applying.
> VFIOGroup.device_list. While it missed to initialize the pointer for
> the vfio-ccw case. Let's fix it.
>
> Fixes: 7da624e2 ("vfio: Test realized when using VFIOGroup.device_list
> iterator")
>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
> ---
> hw/vfio/ccw.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c
> index 8d97b53e77..a8baadf57a 100644
> --- a/hw/vfio/ccw.c
> +++ b/hw/vfio/ccw.c
> @@ -338,6 +338,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp)
> vcdev->vdev.type = VFIO_DEVICE_TYPE_CCW;
> vcdev->vdev.name = g_strdup_printf("%x.%x.%04x", cdev->hostid.cssid,
> cdev->hostid.ssid, cdev->hostid.devid);
> + vcdev->vdev.dev = dev;
> QLIST_FOREACH(vbasedev, &group->device_list, next) {
> if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) {
> error_setg(&err, "vfio: subchannel %s has already been attached",
© 2016 - 2026 Red Hat, Inc.