[RTEMS Project] #3170: Microzed libtest/block08 fails to print end of test correctly.
RTEMS trac
trac at rtems.org
Mon Oct 9 07:19:29 UTC 2017
#3170: Microzed libtest/block08 fails to print end of test correctly.
------------------------------+------------------------------
Reporter: Chris Johns | Owner: joel.sherrill@…
Type: defect | Status: new
Priority: high | Milestone: 4.12.0
Component: testing | Version: 4.12
Severity: critical | Resolution:
Keywords: zedboard testing |
------------------------------+------------------------------
Comment (by Sebastian Huber):
Does the following patch alter the output:
{{{
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
b/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
index fa91f3f46e..3c42be428f 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/console/zynq-uart.c
@@ -226,12 +226,18 @@ void zynq_uart_write_polled(
{
zynq_uart_context *ctx = (zynq_uart_context *) base;
volatile zynq_uart *regs = ctx->regs;
+ rtems_interrupt_level level;
+
+ rtems_interrupt_local_disable(level);
while ((regs->channel_sts & ZYNQ_UART_CHANNEL_STS_TFUL) != 0) {
/* Wait */
+ rtems_interrupt_local_enable(level);
+ rtems_interrupt_local_disable(level);
}
regs->tx_rx_fifo = ZYNQ_UART_TX_RX_FIFO_FIFO(c);
+ rtems_interrupt_local_enable(level);
}
static void zynq_uart_write_support(
}}}
--
Ticket URL: <http://devel.rtems.org/ticket/3170#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list