qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH][RESEND] pcnet: Do not receive external frames i


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH][RESEND] pcnet: Do not receive external frames in loopback mode
Date: Sun, 21 Nov 2010 09:18:28 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Lightning/1.0b1 Thunderbird/3.0.10

On 10/19/2010 10:03 AM, Jan Kiszka wrote:
While not explicitly stated in the spec, it was observed on real systems
that enabling loopback testing on the pcnet controller disables
reception of external frames. And some legacy software relies on it, so
provide this behavior.

Signed-off-by: Jan Kiszka<address@hidden>

Applied.  Thanks.

Regards,

Anthony Liguori
---
  hw/pcnet.c |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/pcnet.c b/hw/pcnet.c
index b52935a..f970bda 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1048,9 +1048,10 @@ ssize_t pcnet_receive(VLANClientState *nc, const uint8_t 
*buf, size_t size_)
      int crc_err = 0;
      int size = size_;

-    if (CSR_DRX(s) || CSR_STOP(s) || CSR_SPND(s) || !size)
+    if (CSR_DRX(s) || CSR_STOP(s) || CSR_SPND(s) || !size ||
+        (CSR_LOOP(s)&&  !s->looptest)) {
          return -1;
-
+    }
  #ifdef PCNET_DEBUG
      printf("pcnet_receive size=%d\n", size);
  #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]