lkml.org 
[lkml]   [2008]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/9] Blackfin Serial Driver: use barrier instead of cpu_relax for Blackfin SMP like patch
    Date
    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


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