xemu/hw
Roy Franz c444dfabfc Fix lan9118 buffer length handling
The 9118 ethernet controller supports transmission of multi-buffer packets
with arbitrary byte alignment of the start and end bytes.  All writes to
the packet fifo are 32 bits, so the controller discards bytes at the beginning
and end of each buffer based on the 'Data start offset' and 'Buffer size'
of the TX command 'A' format.

This patch uses the provided buffer length to limit the bytes transmitted.
Previously all the bytes of the last 32-bit word written to the TX fifo
were added to the internal transmit buffer structure resulting in more bytes
being transmitted than were submitted to the hardware in the command.  This
resulted in extra bytes being inserted into the middle of multi-buffer
packets when the non-final buffers had non-32bit aligned ending addresses.

Signed-off-by: Roy Franz <roy.franz@linaro.org>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-01-27 15:44:06 +01:00
..
9pfs virtio-9p: Convert to QOM realize 2013-12-09 21:46:49 +01:00
acpi acpi,pci,pc,fedora,virtio fixes and enhancements 2014-01-10 11:04:48 -08:00
alpha sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
arm QOM infrastructure fixes and device conversions 2014-01-09 11:24:48 -08:00
audio hda-codec: disable streams on reset 2014-01-20 12:17:20 +01:00
block block: rename buffer_alignment to guest_block_size 2014-01-24 17:40:01 +01:00
bt Preparation for usb-bt-dongle conditional build 2013-09-10 11:14:41 +02:00
char Merge remote-tracking branch 'mjt/trivial-patches' into staging 2014-01-09 11:24:12 -08:00
core Merge remote branch 'luiz/queue/qmp' into qmpq 2014-01-14 12:10:08 +10:00
cpu icc_bus: QOM'ify ICC 2013-12-24 18:02:18 +01:00
cris axis_dev88: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
display sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
dma Merge remote branch 'luiz/queue/qmp' into qmpq 2014-01-14 12:10:08 +10:00
gpio hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
i2c hw: cannot_instantiate_with_device_add_yet due to pointer props 2013-12-24 17:27:17 +01:00
i386 usb: add support for microsoft os descriptors 2014-01-16 12:59:59 +01:00
ide block: rename buffer_alignment to guest_block_size 2014-01-24 17:40:01 +01:00
input QOM infrastructure fixes and device conversions 2014-01-09 11:24:48 -08:00
intc QOM infrastructure fixes and device conversions 2014-01-09 11:24:48 -08:00
isa vt82c686: Clean up use of cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
lm32 milkymist: Suppress -kernel/-bios/-drive error for qtest 2013-11-05 17:47:29 +01:00
m68k an5206: Don't enforce use of kernel for qtest 2013-11-05 17:47:29 +01:00
microblaze Microblaze: Convert Microblaze-pic handling to GPIOs 2014-01-14 11:08:36 +10:00
mips pci-host: Consistently set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
misc QOM infrastructure fixes and device conversions 2014-01-09 11:24:48 -08:00
moxie memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
net Fix lan9118 buffer length handling 2014-01-27 15:44:06 +01:00
nvram sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
openrisc openrisc-timer: Reduce overhead, Separate clock update functions 2013-11-20 21:46:45 +08:00
pci acpi,pci,pc,fedora,virtio fixes and enhancements 2014-01-10 11:04:48 -08:00
pci-bridge pci-host: Consistently set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
pci-host acpi,pci,pc,fedora,virtio fixes and enhancements 2014-01-10 11:04:48 -08:00
pcmcia pcmcia/pxa2xx: QOM'ify PXA2xxPCMCIAState 2013-11-05 18:06:52 +01:00
ppc pci-host: Consistently set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
s390x acpi,pci,pc,fedora,virtio fixes and enhancements 2014-01-10 11:04:48 -08:00
scsi Merge remote-tracking branch 'bonzini/scsi-next' into staging 2014-01-24 15:50:14 -08:00
sd sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
sh4 pci-host: Consistently set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
sparc sun4m: Add FCode ROM for TCX framebuffer 2013-11-21 17:38:52 +01:00
sparc64 pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ssi xilinx_spi: QOM cast cleanup 2013-07-29 21:07:01 +02:00
timer isa: Clean up use of cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
tpm aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
unicore32 puv3: Turn puv3_load_kernel() into a no-op for qtest without -kernel 2013-11-05 17:47:28 +01:00
usb usb-hid: add microsoft os descriptor support 2014-01-16 12:59:59 +01:00
virtio dataplane: fix shadowed return value 2014-01-22 13:48:18 +01:00
watchdog qemu-option: Remove qemu_opts_create_nofail 2014-01-06 15:02:30 -05:00
xen apic: QOM'ify APIC 2013-12-24 18:02:18 +01:00
xtensa pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
Makefile.objs pcmcia: QOM'ify PCMCIACardState and MicroDriveState 2013-11-05 18:06:52 +01:00