提交 f83ccb3e 编写于 作者: M Markus Armbruster 提交者: Aurelien Jarno

virtio-serial: Simplify virtio_serial_load()

For all i, ports_map[i] is used in and only in the i-th iteration.
Replace the dynamic array by a scalar variable.
Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
Acked-by: NAmit Shah <amit.shah@redhat.com>
Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
上级 81bf96d3
......@@ -492,8 +492,7 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id)
{
VirtIOSerial *s = opaque;
VirtIOSerialPort *port;
size_t ports_map_size;
uint32_t max_nr_ports, nr_active_ports, *ports_map;
uint32_t max_nr_ports, nr_active_ports, ports_map;
unsigned int i;
if (version_id > 2) {
......@@ -517,22 +516,17 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id)
return -EINVAL;
}
ports_map_size = sizeof(uint32_t) * (max_nr_ports + 31) / 32;
ports_map = qemu_malloc(ports_map_size);
for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
qemu_get_be32s(f, &ports_map[i]);
qemu_get_be32s(f, &ports_map);
if (ports_map[i] != s->ports_map[i]) {
if (ports_map != s->ports_map[i]) {
/*
* Ports active on source and destination don't
* match. Fail migration.
*/
qemu_free(ports_map);
return -EINVAL;
}
}
qemu_free(ports_map);
qemu_get_be32s(f, &nr_active_ports);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册