mirror of
https://github.com/qemu/qemu.git
synced 2024-11-26 12:23:36 +08:00
pcnet: Flush queued packets on end of STOP state
Analogously to other NICs, we have to inform the network layer when the can_receive handler will no longer report 0. Without this, we may get stuck waiting on queued incoming packets. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
b9ac5d923b
commit
ee76c1f821
@ -861,6 +861,8 @@ static void pcnet_init(PCNetState *s)
|
||||
|
||||
s->csr[0] |= 0x0101;
|
||||
s->csr[0] &= ~0x0004; /* clear STOP bit */
|
||||
|
||||
qemu_flush_queued_packets(qemu_get_queue(s->nic));
|
||||
}
|
||||
|
||||
static void pcnet_start(PCNetState *s)
|
||||
@ -878,6 +880,8 @@ static void pcnet_start(PCNetState *s)
|
||||
s->csr[0] &= ~0x0004; /* clear STOP bit */
|
||||
s->csr[0] |= 0x0002;
|
||||
pcnet_poll_timer(s);
|
||||
|
||||
qemu_flush_queued_packets(qemu_get_queue(s->nic));
|
||||
}
|
||||
|
||||
static void pcnet_stop(PCNetState *s)
|
||||
|
Loading…
Reference in New Issue
Block a user