[lkml]   [2008]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 3/9] Blackfin Serial Driver: use barrier instead of cpu_relax for Blackfin SMP like patch
    From: Graf Yang <>

    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 <>
    Signed-off-by: Bryan Wu <>
    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);


     \ /
      Last update: 2008-10-16 19:47    [W:0.019 / U:227.680 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site