qemu-devel
[Top][All Lists]
Advanced

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

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


From: Jan Kiszka
Subject: [Qemu-devel] Re: [PATCH][RESEND] pcnet: Do not receive external frames in loopback mode
Date: Wed, 17 Nov 2010 11:18:49 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

Am 19.10.2010 17:03, 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.

Ping.

> 
> Signed-off-by: Jan Kiszka <address@hidden>
> ---
>  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]