Messages in this thread Patch in this message | | | From | Bryan Wu <> | Subject | [PATCH 3/9] Blackfin Serial Driver: use barrier instead of cpu_relax for Blackfin SMP like patch | Date | Fri, 17 Oct 2008 01:44:01 +0800 |
| |
From: Graf Yang <graf.yang@analog.com>
We are making a SMP like patch to blackfin, cpu_relax() is replaced by a data cache flush function which will count it to a per-cpu counter. If this serial function is called too early, the per-cpu data area have not been initialized, this call will cause crash. So we'd like to use barrier() instead of cpu_relax().
Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> --- drivers/serial/bfin_5xx.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index 16b891e..aea3a53 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c @@ -1107,7 +1107,8 @@ static __init void early_serial_putc(struct uart_port *port, int ch) struct bfin_serial_port *uart = (struct bfin_serial_port *)port; while ((!(UART_GET_LSR(uart) & THRE)) && --timeout) - cpu_relax(); + barrier(); + UART_PUT_CHAR(uart, ch); } -- 1.5.6
| |