mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 19:33:39 +08:00
vfio/ccw: fix initialization of the Object DeviceState pointer in the common base-device
Commit7da624e2
("vfio: Test realized when using VFIOGroup.device_list iterator") introduced a pointer to the Object DeviceState in the VFIO common base-device and skipped 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> Reviewed-by: Alex Williamson <alex.williamson@redhat.com> Message-Id: <20170718014926.44781-3-bjsdjshi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
28e22d4bae
commit
6a79dd4631
@ -338,6 +338,7 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp)
|
|||||||
vcdev->vdev.type = VFIO_DEVICE_TYPE_CCW;
|
vcdev->vdev.type = VFIO_DEVICE_TYPE_CCW;
|
||||||
vcdev->vdev.name = g_strdup_printf("%x.%x.%04x", cdev->hostid.cssid,
|
vcdev->vdev.name = g_strdup_printf("%x.%x.%04x", cdev->hostid.cssid,
|
||||||
cdev->hostid.ssid, cdev->hostid.devid);
|
cdev->hostid.ssid, cdev->hostid.devid);
|
||||||
|
vcdev->vdev.dev = dev;
|
||||||
QLIST_FOREACH(vbasedev, &group->device_list, next) {
|
QLIST_FOREACH(vbasedev, &group->device_list, next) {
|
||||||
if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) {
|
if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) {
|
||||||
error_setg(&err, "vfio: subchannel %s has already been attached",
|
error_setg(&err, "vfio: subchannel %s has already been attached",
|
||||||
|
Loading…
Reference in New Issue
Block a user