diff options
author | Michael Roth <mdroth@linux.vnet.ibm.com> | 2013-02-06 18:25:48 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-02-07 13:13:39 -0600 |
commit | b890492110ccdc943554231d40b67d29fef6af82 (patch) | |
tree | 617582fc881338226dea82508ad76b5f1b1d53e9 /hw/virtio-net.c | |
parent | ecd8d4715ea33aa2c146a5047bacb031e86af599 (diff) |
net: fix infinite loop on exit
1ceef9f27359cbe92ef124bf74de6f792e71f6fb added handling for cleaning
up multiple queues in qemu_del_nic() for cases where multiqueue is in
use. To determine the number of queues it looks at nic->conf->queues,
then iterates through all the queues to cleanup the associated
NetClientStates. If no queues are found, no NetClientStates are deleted.
However, nic->conf->queues is only set when a peer is created via
-netdev or netdev_add, and is otherwise 0. This causes us to spin in
net_cleanup() if we attempt to shut down qemu before adding a host
device.
Since qemu_new_nic() unconditionally creates at least 1
queue/NetClientState at queue idx 0, make qemu_del_nic() always attempt
to clean it up.
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/virtio-net.c')
0 files changed, 0 insertions, 0 deletions