This change fixes an issue with virtio console port assignment on vioserial buses. Currently, when trying to autoassign a virtio console device, the device cannot be assigned to a port greater than 0 on vioserial buses. You will receive the following error:
`virtio-serial-bus: A port already exists at id 0` Therefore, the data needs to be passed back into info when allowZero is true Fixes: 16db8d2ec540 ("Add functions to track virtio-serial addresses") Reviewed-by: Boris Fiuczynski <fiu...@linux.ibm.com> Signed-off-by: Aaron M. Brown <aaron...@linux.ibm.com> --- src/conf/domain_addr.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/conf/domain_addr.c b/src/conf/domain_addr.c index 8dfa8feca0..76e11c0dde 100644 --- a/src/conf/domain_addr.c +++ b/src/conf/domain_addr.c @@ -1737,6 +1737,13 @@ virDomainVirtioSerialAddrAssign(virDomainDef *def, if (virDomainVirtioSerialAddrNextFromController(addrs, &ptr->addr.vioserial) < 0) return -1; + + if (ptr == &nfo) { + /* pass the vioserial data back into info as info is used + * later for port assignment */ + info->addr.vioserial = ptr->addr.vioserial; + } + } else { if (virDomainVirtioSerialAddrNext(def, addrs, &ptr->addr.vioserial, allowZero) < 0) -- 2.39.5 (Apple Git-154)