Skip to content

Commit d23006e

Browse files
Ryan-CW-CodeRbb666
authored andcommitted
[drivers][serial_v2] 修复dma下rx_flush的bug
1 parent 7c0fed5 commit d23006e

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

components/drivers/serial/dev_serial_v2.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,7 @@ static rt_err_t rt_serial_rx_enable(struct rt_device *dev,
943943
serial->config.rx_bufsz = RT_SERIAL_RX_MINBUFSZ;
944944

945945
#ifdef RT_SERIAL_USING_DMA
946-
if (serial->config.dma_ping_bufsz > 0 && serial->config.dma_ping_bufsz < RT_SERIAL_RX_MINBUFSZ / 2)
946+
if (serial->config.dma_ping_bufsz < RT_SERIAL_RX_MINBUFSZ / 2)
947947
serial->config.dma_ping_bufsz = RT_SERIAL_RX_MINBUFSZ / 2;
948948
rx_fifo_size = sizeof(struct rt_serial_rx_fifo) + serial->config.rx_bufsz + serial->config.dma_ping_bufsz;
949949
#else
@@ -959,12 +959,9 @@ static rt_err_t rt_serial_rx_enable(struct rt_device *dev,
959959
serial->config.rx_bufsz);
960960

961961
#ifdef RT_SERIAL_USING_DMA
962-
if (serial->config.dma_ping_bufsz > 0)
963-
{
964-
rt_ringbuffer_init(&rx_fifo->dma_ping_rb,
965-
(rt_uint8_t *)rx_fifo + sizeof(struct rt_serial_rx_fifo) + serial->config.rx_bufsz,
966-
serial->config.dma_ping_bufsz);
967-
}
962+
rt_ringbuffer_init(&rx_fifo->dma_ping_rb,
963+
(rt_uint8_t *)rx_fifo + sizeof(struct rt_serial_rx_fifo) + serial->config.rx_bufsz,
964+
serial->config.dma_ping_bufsz);
968965
#endif
969966

970967
serial->serial_rx = rx_fifo;
@@ -1219,10 +1216,7 @@ static void _serial_rx_flush(struct rt_serial_device *serial)
12191216
rt_ringbuffer_reset(&rx_fifo->rb);
12201217
rx_fifo->rx_cpt_index = 0;
12211218
#ifdef RT_SERIAL_USING_DMA
1222-
if (serial->config.dma_ping_bufsz > 0)
1223-
{
1224-
rt_ringbuffer_reset(&rx_fifo->dma_ping_rb);
1225-
}
1219+
rt_serial_update_read_index(&rx_fifo->dma_ping_rb, rt_ringbuffer_get_size(&rx_fifo->dma_ping_rb));
12261220
#endif
12271221
rt_spin_unlock_irqrestore(&serial->spinlock, level);
12281222
}

0 commit comments

Comments
 (0)