diff options
author | Ian Abbott <abbotti@mev.co.uk> | 2019-01-31 17:19:05 +0000 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-02-01 07:57:54 +0100 |
commit | e1483104aa781cee58130d1f803315ae365a2ffe (patch) | |
tree | 82c6e4b7e8891a06b2dd8461ec227f22bcdbc8fd /dts/Bindings/interrupt-controller | |
parent | cf3b09737bb9876717a160df3b70371b760ab62b (diff) | |
download | barebox-e1483104aa781cee58130d1f803315ae365a2ffe.tar.gz barebox-e1483104aa781cee58130d1f803315ae365a2ffe.tar.xz |
net: designware: fix TX descriptor length corruption
dwc_ether_send() sets the SIZE1 field of the TX descriptor incorrectly.
It sets the SIZE1 field to a bit-wise OR of the old value and the new
value. If the old value differs from the new value, the transmitted
Ethernet frame will be longer than it should be and is likely to have an
incorrect frame check sequence. As more and more Ethernet frames of
different lengths are sent, more and more of the TX descriptors are
affected (up to a maximum number of CONFIG_TX_DESCR_NUM, defined as 16
in "designware.h"). Fix it by setting the SIZE1 field of the TX
descriptor to just the new value.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'dts/Bindings/interrupt-controller')
0 files changed, 0 insertions, 0 deletions