shell: uart: Add TX disabling in uninitialization

Uninitialization of uart transport was missing disabling of TX
interrupt. It had to be done by the user before using uart.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruscinski 2021-04-21 09:25:38 +02:00 committed by Carles Cufí
commit c313474cb0
2 changed files with 1 additions and 1 deletions

View file

@ -92,7 +92,6 @@ static void shell_uninit_cb(const struct shell *shell, int res)
if (IS_ENABLED(CONFIG_SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN)) { if (IS_ENABLED(CONFIG_SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN)) {
/* connect uart to my handler */ /* connect uart to my handler */
uart_irq_callback_user_data_set(dev, direct_uart_callback, NULL); uart_irq_callback_user_data_set(dev, direct_uart_callback, NULL);
uart_irq_tx_disable(dev);
uart_irq_rx_enable(dev); uart_irq_rx_enable(dev);
} else { } else {
k_timer_user_data_set(&uart_poll_timer, (void *)dev); k_timer_user_data_set(&uart_poll_timer, (void *)dev);

View file

@ -201,6 +201,7 @@ static int uninit(const struct shell_transport *transport)
if (IS_ENABLED(CONFIG_SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN)) { if (IS_ENABLED(CONFIG_SHELL_BACKEND_SERIAL_INTERRUPT_DRIVEN)) {
const struct device *dev = sh_uart->ctrl_blk->dev; const struct device *dev = sh_uart->ctrl_blk->dev;
uart_irq_tx_disable(dev);
uart_irq_rx_disable(dev); uart_irq_rx_disable(dev);
} else { } else {
k_timer_stop(sh_uart->timer); k_timer_stop(sh_uart->timer);