diff options
author | Finn Thain <fthain@telegraphics.com.au> | 2020-01-29 20:27:49 +1100 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2020-06-02 10:39:15 -0500 |
commit | 153c3320e77cfcafc5a44d01d6fb7905121a8fd7 (patch) | |
tree | 57dc1196f6ef47923f1e0b2b4cc7300e7dc5c3c5 /hw/net | |
parent | bf3f12ac8c34e4856f48c5f7ee7d23c042097797 (diff) | |
download | qemu-153c3320e77cfcafc5a44d01d6fb7905121a8fd7.zip qemu-153c3320e77cfcafc5a44d01d6fb7905121a8fd7.tar.gz qemu-153c3320e77cfcafc5a44d01d6fb7905121a8fd7.tar.bz2 |
dp8393x: Have dp8393x_receive() return the packet size
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 <fthain@telegraphics.com.au>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Jason Wang <jasowang@redhat.com>
(cherry picked from commit 9e3cd456d85ad45e72bdba99203302342ce29b3b)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Diffstat (limited to 'hw/net')
-rw-r--r-- | hw/net/dp8393x.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index f89f4c7..a696485 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) |