diff options
| author | Dmitry Fleytman | 2016-09-15 08:14:24 +0200 |
|---|---|---|
| committer | Jason Wang | 2016-09-27 11:54:22 +0200 |
| commit | 6ee0e20b653817aa0adac89e21704842608e1639 (patch) | |
| tree | 44a6b7d4d2281173513e31d3c354b255270931ba | |
| parent | net: limit allocation in nc_sendv_compat (diff) | |
| download | qemu-6ee0e20b653817aa0adac89e21704842608e1639.tar.gz qemu-6ee0e20b653817aa0adac89e21704842608e1639.tar.xz qemu-6ee0e20b653817aa0adac89e21704842608e1639.zip | |
e1000e: Flush all receive queues on receive enable
Before this patch first netdev queue only was flushed.
Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
| -rw-r--r-- | hw/net/e1000e.c | 2 | ||||
| -rw-r--r-- | hw/net/e1000e_core.c | 2 | ||||
| -rw-r--r-- | hw/net/e1000e_core.h | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/hw/net/e1000e.c b/hw/net/e1000e.c index bad43f474e..4994e1ca00 100644 --- a/hw/net/e1000e.c +++ b/hw/net/e1000e.c @@ -400,7 +400,7 @@ static void e1000e_write_config(PCIDevice *pci_dev, uint32_t address, if (range_covers_byte(address, len, PCI_COMMAND) && (pci_dev->config[PCI_COMMAND] & PCI_COMMAND_MASTER)) { - qemu_flush_queued_packets(qemu_get_queue(s->nic)); + e1000e_start_recv(&s->core); } } diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 03e3c462f1..ea2a484e9e 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -953,7 +953,7 @@ e1000e_has_rxbufs(E1000ECore *core, const E1000E_RingInfo *r, core->rx_desc_buf_size; } -static inline void +void e1000e_start_recv(E1000ECore *core) { int i; diff --git a/hw/net/e1000e_core.h b/hw/net/e1000e_core.h index 5f413a9e08..1ff6978ca1 100644 --- a/hw/net/e1000e_core.h +++ b/hw/net/e1000e_core.h @@ -144,3 +144,6 @@ e1000e_receive(E1000ECore *core, const uint8_t *buf, size_t size); ssize_t e1000e_receive_iov(E1000ECore *core, const struct iovec *iov, int iovcnt); + +void +e1000e_start_recv(E1000ECore *core); |
