[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] Re: [PATCH][RESEND] pcnet: Do not receive external frames in loopback mode,
Jan Kiszka <=