[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 04/14] dp8393x: Have dp8393x_receive() return the packet s
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v3 04/14] dp8393x: Have dp8393x_receive() return the packet size |
Date: |
Tue, 28 Jan 2020 12:04:36 +0100 |
On Tue, Jan 28, 2020 at 12:03 PM Philippe Mathieu-Daudé
<address@hidden> wrote:
> On 1/19/20 11:59 PM, Finn Thain wrote:
> > This function re-uses its 'size' argument as a scratch variable.
> > Instead, declare a local 'size' variable for that purpose so that the
> > function result doesn't get messed up.
> >
> > Signed-off-by: Finn Thain <address@hidden>
> > Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> > Tested-by: Laurent Vivier <address@hidden>
> > ---
> > hw/net/dp8393x.c | 9 +++++----
> > 1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
> > index 2d2ace2549..ece72cbf42 100644
> > --- a/hw/net/dp8393x.c
> > +++ b/hw/net/dp8393x.c
> > @@ -757,20 +757,21 @@ static int dp8393x_receive_filter(dp8393xState *s,
> > const uint8_t * buf,
> > }
> >
> > static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf,
> > - size_t size)
> > + size_t pkt_size)
> > {
> > dp8393xState *s = qemu_get_nic_opaque(nc);
> > int packet_type;
> > uint32_t available, address;
> > - int width, rx_len = size;
> > + int width, rx_len = pkt_size;
> > uint32_t checksum;
> > + int size;
> >
> > width = (s->regs[SONIC_DCR] & SONIC_DCR_DW) ? 2 : 1;
> >
> > s->regs[SONIC_RCR] &= ~(SONIC_RCR_PRX | SONIC_RCR_LBK |
> > SONIC_RCR_FAER |
> > SONIC_RCR_CRCR | SONIC_RCR_LPKT | SONIC_RCR_BC | SONIC_RCR_MC);
> >
> > - packet_type = dp8393x_receive_filter(s, buf, size);
> > + packet_type = dp8393x_receive_filter(s, buf, pkt_size);
> > if (packet_type < 0) {
> > DPRINTF("packet not for netcard\n");
> > return -1;
> > @@ -864,7 +865,7 @@ static ssize_t dp8393x_receive(NetClientState *nc,
> > const uint8_t * buf,
> > /* Done */
> > dp8393x_update_irq(s);
> >
> > - return size;
> > + return pkt_size;
> > }
> >
> > static void dp8393x_reset(DeviceState *dev)
> >
>
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
One R-b tag is enough btw ;)
- [PATCH v3 00/14] Fixes for DP8393X SONIC device emulation, Finn Thain, 2020/01/19
- [PATCH v3 07/14] dp8393x: Implement packet size limit and RBAE interrupt, Finn Thain, 2020/01/19
- [PATCH v3 11/14] dp8393x: Clear descriptor in_use field to release packet, Finn Thain, 2020/01/19
- [PATCH v3 01/14] dp8393x: Mask EOL bit from descriptor addresses, Finn Thain, 2020/01/19
- [PATCH v3 06/14] dp8393x: Clear RRRA command register bit only when appropriate, Finn Thain, 2020/01/19
- [PATCH v3 04/14] dp8393x: Have dp8393x_receive() return the packet size, Finn Thain, 2020/01/19
- [PATCH v3 02/14] dp8393x: Always use 32-bit accesses, Finn Thain, 2020/01/19
- [PATCH v3 08/14] dp8393x: Don't clobber packet checksum, Finn Thain, 2020/01/19
- [PATCH v3 05/14] dp8393x: Update LLFA and CRDA registers from rx descriptor, Finn Thain, 2020/01/19
- [PATCH v3 09/14] dp8393x: Use long-word-aligned RRA pointers in 32-bit mode, Finn Thain, 2020/01/19
- [PATCH v3 10/14] dp8393x: Pad frames to word or long word boundary, Finn Thain, 2020/01/19
- [PATCH v3 03/14] dp8393x: Clean up endianness hacks, Finn Thain, 2020/01/19
- [PATCH v3 13/14] dp8393x: Don't reset Silicon Revision register, Finn Thain, 2020/01/19