From 8ed6a8d9e3b4613a0d586d409f4c5706f21b5857 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 1 May 2012 16:53:58 +0000 Subject: Fixed bug 3522808, fixed problem with STM32 MAC driver checksum offload. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4156 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/STM32/mac_lld.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'os/hal/platforms/STM32/mac_lld.c') diff --git a/os/hal/platforms/STM32/mac_lld.c b/os/hal/platforms/STM32/mac_lld.c index 15f9cd13c..aff58342e 100644 --- a/os/hal/platforms/STM32/mac_lld.c +++ b/os/hal/platforms/STM32/mac_lld.c @@ -384,7 +384,7 @@ void mac_lld_stop(MACDriver *macp) { * * @notapi */ -msg_t max_lld_get_transmit_descriptor(MACDriver *macp, +msg_t mac_lld_get_transmit_descriptor(MACDriver *macp, MACTransmitDescriptor *tdp) { stm32_eth_tx_descriptor_t *tdes; @@ -493,7 +493,7 @@ void mac_lld_release_transmit_descriptor(MACTransmitDescriptor *tdp) { * * @notapi */ -msg_t max_lld_get_receive_descriptor(MACDriver *macp, +msg_t mac_lld_get_receive_descriptor(MACDriver *macp, MACReceiveDescriptor *rdp) { stm32_eth_rx_descriptor_t *rdes; @@ -505,12 +505,12 @@ msg_t max_lld_get_receive_descriptor(MACDriver *macp, /* Iterates through received frames until a valid one is found, invalid frames are discarded.*/ while (!(rdes->rdes0 & STM32_RDES0_OWN)) { - if (!(rdes->rdes0 & (STM32_RDES0_AFM | STM32_RDES0_ES + if (!(rdes->rdes0 & (STM32_RDES0_AFM | STM32_RDES0_ES)) #if STM32_IP_CHECKSUM_OFFLOAD - | STM32_RDES0_IPHCE | STM32_RDES0_PCE + && !(rdes->rdes0 & STM32_RDES0_FT & (STM32_RDES0_IPHCE | + STM32_RDES0_PCE)) #endif - )) && (rdes->rdes0 & STM32_RDES0_FS) && - (rdes->rdes0 & STM32_RDES0_LS)) { + && (rdes->rdes0 & STM32_RDES0_FS) && (rdes->rdes0 & STM32_RDES0_LS)) { /* Found a valid one.*/ rdp->offset = 0; rdp->size = ((rdes->rdes0 & STM32_RDES0_FL_MASK) >> 16) - 4; -- cgit v1.2.3