diff options
| author | Jan Kiszka | 2013-08-02 21:48:18 +0200 |
|---|---|---|
| committer | Stefan Hajnoczi | 2013-08-05 14:11:17 +0200 |
| commit | ee76c1f821e75550644e084dea85743bbc934f91 (patch) | |
| tree | e13b3b2b7fcbeff1d37aad401d351d433e09ed6b | |
| parent | target-mips: fix 34Kf configuration for DSP ASE (diff) | |
| download | qemu-ee76c1f821e75550644e084dea85743bbc934f91.tar.gz qemu-ee76c1f821e75550644e084dea85743bbc934f91.tar.xz qemu-ee76c1f821e75550644e084dea85743bbc934f91.zip | |
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>
| -rw-r--r-- | hw/net/pcnet.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c index b606d2be3b..63aa73a241 100644 --- a/hw/net/pcnet.c +++ b/hw/net/pcnet.c @@ -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) |
