From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42182) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxaN5-0005xQ-74 for qemu-devel@nongnu.org; Wed, 27 May 2015 08:23:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxaN2-0002s9-7o for qemu-devel@nongnu.org; Wed, 27 May 2015 08:23:43 -0400 Received: from smtp2-g21.free.fr ([2a01:e0c:1:1599::11]:33170) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxaN2-0002qt-1p for qemu-devel@nongnu.org; Wed, 27 May 2015 08:23:40 -0400 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Wed, 27 May 2015 14:19:57 +0200 Message-Id: <1432729200-5322-15-git-send-email-hpoussin@reactos.org> In-Reply-To: <1432729200-5322-1-git-send-email-hpoussin@reactos.org> References: <1432729200-5322-1-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v2 14/17] net/dp8393x: correctly reset in_use field List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Leon Alrae , Aurelien Jarno Don't write more than the field width, which is always 16 bit. Fixes network in NetBSD 5.1/arc Signed-off-by: Herv=C3=A9 Poussineau --- hw/net/dp8393x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index 4184045..b72b0b1 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -761,10 +761,10 @@ static ssize_t dp8393x_receive(NetClientState *nc, = const uint8_t * buf, /* EOL detected */ s->regs[SONIC_ISR] |=3D SONIC_ISR_RDE; } else { - data[0 * width] =3D 0; /* in_use */ + uint16_t in_use =3D 0; address_space_rw(&s->as, ((s->regs[SONIC_URDA] << 16) | s->regs[SONIC_CRDA]) + sizeof= (uint16_t) * 6 * width, - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size, 1); + MEMTXATTRS_UNSPECIFIED, (uint8_t *)&in_use, sizeof(uint16_t)= , 1); s->regs[SONIC_CRDA] =3D s->regs[SONIC_LLFA]; s->regs[SONIC_ISR] |=3D SONIC_ISR_PKTRX; s->regs[SONIC_RSC] =3D (s->regs[SONIC_RSC] & 0xff00) | (((s->reg= s[SONIC_RSC] & 0x00ff) + 1) & 0x00ff); --=20 2.1.4