lkml.org 
[lkml]   [2010]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[08/34] parisc: pass through \t to early (iodc) console
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Kyle McMartin <kyle@mcmartin.ca>

    commit d9b68e5e88248bb24fd4e455588bea1d56108fd6 upstream.

    The firmware handles '\t' internally, so stop trying to emulate it
    (which, incidentally, had a bug in it.)

    Fixes a really weird hang at bootup in rcu_bootup_announce, which,
    as far as I can tell, is the first printk in the core kernel to use
    a tab as the first character.

    Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/parisc/kernel/firmware.c | 12 ++----------
    1 file changed, 2 insertions(+), 10 deletions(-)

    --- a/arch/parisc/kernel/firmware.c
    +++ b/arch/parisc/kernel/firmware.c
    @@ -1123,7 +1123,6 @@ static char __attribute__((aligned(64)))
    */
    int pdc_iodc_print(const unsigned char *str, unsigned count)
    {
    - static int posx; /* for simple TAB-Simulation... */
    unsigned int i;
    unsigned long flags;

    @@ -1133,19 +1132,12 @@ int pdc_iodc_print(const unsigned char *
    iodc_dbuf[i+0] = '\r';
    iodc_dbuf[i+1] = '\n';
    i += 2;
    - posx = 0;
    goto print;
    - case '\t':
    - while (posx & 7) {
    - iodc_dbuf[i] = ' ';
    - i++, posx++;
    - }
    - break;
    case '\b': /* BS */
    - posx -= 2;
    + i--; /* overwrite last */
    default:
    iodc_dbuf[i] = str[i];
    - i++, posx++;
    + i++;
    break;
    }
    }



    \
     
     \ /
      Last update: 2010-08-06 21:17    [W:0.021 / U:2.256 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site