1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/cpu/stm32/periph
Marian Buschsieweke 788f997452
cpu/stm32/periph_eth: fix error handling
An earlier version of periph_eth used to always pack the first chunk of the
outgoing frame to the first DMA descriptor by telling the DMA to jump back
to the first descriptor within the last descriptor. This worked fine unless
the frame was send in one chunk (as e.g. lwip does), which resulted due to a
hardware bug in a frame being send out twice. For that reason, the behavior was
changed to cycle throw the linked DMA descriptor list in round-robin fashion.
However, the error checking was not updated accordingly. Hence, the error
check might run over (parts of) unrelated frames and fail to detect errors
correctly.

This commit fixes the issue and also provides proper return codes for errors.

Additionally, an DMA reset is performed on detected errors during RX/TX. I'm
not sure if/when this is needed, as error conditions are neigh impossible to
produce. But better be safe than sorry.
2021-01-20 10:35:05 +01:00
..
adc_f0.c cpu/stm32/periph/adc_f0: removes ADC configuration loading 2020-08-27 03:59:44 +02:00
adc_f1.c cpu/stm32/periph/adc_f1: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
adc_f2.c cpu/stm32/periph/adc_f2: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
adc_f3.c cpu/stm32/adc_f3: improve peripheral driver 2020-10-01 11:08:45 +02:00
adc_f4.c cpu/stm32/periph/adc_f4: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
adc_l0.c cpu/stm32/periph/adc_l0: removes ADC configuration loading 2020-08-27 03:58:33 +02:00
adc_l1.c cpu/stm32/periph/adc_l1: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
adc_l4.c cpu/stm32/periph/adc_l4: removes ADC configuration loading 2020-08-27 03:56:26 +02:00
can.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
dac.c cpu/stm32: adapt Doxygen documentation 2020-05-20 13:39:11 +02:00
dma.c cpu/stm32/periph/dma: add support for STM32F3 2020-08-19 11:26:04 +02:00
doc.txt cpu/stm32: Add stm32_eth_auto for auto-negotiation 2020-10-22 12:37:23 +02:00
eeprom.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
eth_common.c cpu/stm32: fix ENABLE_DEBUG definition 2021-01-08 14:37:33 +01:00
eth.c cpu/stm32/periph_eth: fix error handling 2021-01-20 10:35:05 +01:00
flash_common.c cpu/stm32l5: adapt flashpage periph 2020-10-23 18:21:50 +02:00
flashpage.c stm32/flashpage: Remove page address casts from erase 2020-11-18 12:30:40 +01:00
gpio_all.c cpu/stm32: add gpio support for stm32mp1 family 2020-11-13 10:43:08 +01:00
gpio_f1.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
hwrng.c cpu/stm32: adapt Doxygen documentation 2020-05-20 13:39:11 +02:00
i2c_1.c cpu/stm32: add basic support for stm32l5 2020-10-23 18:21:50 +02:00
i2c_2.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
Makefile cpu/stm32: add basic support for stm32l5 2020-10-23 18:21:50 +02:00
pm.c cpu/stm32: add stm32mp1_eng_mode pseudomodule 2020-11-13 10:43:08 +01:00
ptp.c cpu/stm32: fix ENABLE_DEBUG definition 2021-01-08 14:37:33 +01:00
pwm.c cpu/stm32/periph/pwm: useless static var and a semicolon removed 2020-07-14 01:41:16 +02:00
qdec.c cpu/stm32/qdec: test null callback pointer (#14125) 2020-07-10 15:05:53 +02:00
rtc_all.c cpu/stm32/rtc: add unlock/lock to rtc_clear_alarm 2021-01-19 13:33:17 +01:00
rtc_f1.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
rtt_all.c cpu/*: add missing include of assert.h 2020-10-22 11:13:08 +02:00
rtt_f1.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
spi.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
timer.c drivers/periph/timer: Use uint32_t for frequency 2020-10-30 22:02:12 +01:00
uart.c stm32/periph/uart: set flow control bits before enabling uart 2021-01-12 07:37:19 +01:00
usbdev.c cpu/*: realign ENABLE_DEBUG 2020-10-23 00:46:26 +02:00
wdt.c cpu/*: remove unneeded ENABLE_DEBUG 2020-10-23 11:29:57 +02:00