Skip to content

Commit 35999be

Browse files
authored
Merge pull request #4536 from c1728p9/fix_st_socket_problem
STM32 - fix bug where sockets stop receiving data
2 parents f31ea01 + 9620b0f commit 35999be

File tree

1 file changed

+11
-11
lines changed
  • features/FEATURE_LWIP/lwip-interface/lwip-eth/arch/TARGET_STM

1 file changed

+11
-11
lines changed

features/FEATURE_LWIP/lwip-interface/lwip-eth/arch/TARGET_STM/stm32xx_emac.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -305,20 +305,20 @@ static struct pbuf * _eth_arch_low_level_input(struct netif *netif)
305305
memcpy((uint8_t*)((uint8_t*)q->payload + payloadoffset), (uint8_t*)((uint8_t*)buffer + bufferoffset), byteslefttocopy);
306306
bufferoffset = bufferoffset + byteslefttocopy;
307307
}
308+
}
308309

309-
/* Release descriptors to DMA */
310-
/* Point to first descriptor */
311-
dmarxdesc = EthHandle.RxFrameInfos.FSRxDesc;
312-
/* Set Own bit in Rx descriptors: gives the buffers back to DMA */
313-
for (i = 0; i < EthHandle.RxFrameInfos.SegCount; i++) {
314-
dmarxdesc->Status |= ETH_DMARXDESC_OWN;
315-
dmarxdesc = (ETH_DMADescTypeDef*)(dmarxdesc->Buffer2NextDescAddr);
316-
}
317-
318-
/* Clear Segment_Count */
319-
EthHandle.RxFrameInfos.SegCount = 0;
310+
/* Release descriptors to DMA */
311+
/* Point to first descriptor */
312+
dmarxdesc = EthHandle.RxFrameInfos.FSRxDesc;
313+
/* Set Own bit in Rx descriptors: gives the buffers back to DMA */
314+
for (i = 0; i < EthHandle.RxFrameInfos.SegCount; i++) {
315+
dmarxdesc->Status |= ETH_DMARXDESC_OWN;
316+
dmarxdesc = (ETH_DMADescTypeDef*)(dmarxdesc->Buffer2NextDescAddr);
320317
}
321318

319+
/* Clear Segment_Count */
320+
EthHandle.RxFrameInfos.SegCount = 0;
321+
322322
/* When Rx Buffer unavailable flag is set: clear it and resume reception */
323323
if ((EthHandle.Instance->DMASR & ETH_DMASR_RBUS) != (uint32_t)RESET) {
324324
/* Clear RBUS ETHERNET DMA flag */

0 commit comments

Comments
 (0)