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 <jan.kis...@siemens.com>
> ---
>  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