|
@@ -47,9 +47,13 @@ static void __raw_writel(unsigned int value, unsigned int ptr)
|
|
|
|
|
|
static inline void putc(int c)
|
|
|
{
|
|
|
- /* Transmit fifo not full? */
|
|
|
- while (__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF)
|
|
|
- ;
|
|
|
+ int i;
|
|
|
+
|
|
|
+ for (i = 0; i < 10000; i++) {
|
|
|
+ /* Transmit fifo not full? */
|
|
|
+ if (!(__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF))
|
|
|
+ break;
|
|
|
+ }
|
|
|
|
|
|
__raw_writeb(c, PHYS_UART_DATA);
|
|
|
}
|