net: purge queued packets in tap_cleanup()
authorMark McLoughlin <markmc@redhat.com>
Thu, 18 Jun 2009 17:21:30 +0000 (18:21 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 22 Jun 2009 15:15:30 +0000 (10:15 -0500)
If tap has any packets queued at host_net_remove time, it needs to purge
them in order to prevent a sent callback being invoked for it.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
net.c

diff --git a/net.c b/net.c
index cea545e..eb26cd4 100644 (file)
--- a/net.c
+++ b/net.c
@@ -1128,6 +1128,8 @@ static void tap_cleanup(VLANClientState *vc)
 {
     TAPState *s = vc->opaque;
 
+    qemu_purge_queued_packets(vc);
+
     if (s->down_script[0])
         launch_script(s->down_script, s->down_script_arg, s->fd);