lkml.org 
[lkml]   [2018]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 23/68] braille-console: Fix value returned by _braille_console_setup
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

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

    From: Samuel Thibault <samuel.thibault@ens-lyon.org>


    [ Upstream commit 2ed2b8621be2708c0f6d61fe9841e9ad8b9753f0 ]

    commit bbeddf52adc1 ("printk: move braille console support into
    separate braille.[ch] files") introduced _braille_console_setup()
    to outline the braille initialization code. There was however some
    confusion over the value it was supposed to return. commit 2cfe6c4ac7ee
    ("printk: Fix return of braille_register_console()") tried to fix it
    but failed to.

    This fixes and documents the returned value according to the use
    in printk.c: non-zero return means a parsing error, and thus this
    console configuration should be ignored.

    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Cc: Aleksey Makarov <aleksey.makarov@linaro.org>
    Cc: Joe Perches <joe@perches.com>
    Cc: Ming Lei <ming.lei@canonical.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Acked-by: Petr Mladek <pmladek@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    kernel/printk/braille.c | 15 ++++++++-------
    kernel/printk/braille.h | 13 ++++++++++---
    2 files changed, 18 insertions(+), 10 deletions(-)

    --- a/kernel/printk/braille.c
    +++ b/kernel/printk/braille.c
    @@ -2,12 +2,13 @@

    #include <linux/kernel.h>
    #include <linux/console.h>
    +#include <linux/errno.h>
    #include <linux/string.h>

    #include "console_cmdline.h"
    #include "braille.h"

    -char *_braille_console_setup(char **str, char **brl_options)
    +int _braille_console_setup(char **str, char **brl_options)
    {
    if (!memcmp(*str, "brl,", 4)) {
    *brl_options = "";
    @@ -15,14 +16,14 @@ char *_braille_console_setup(char **str,
    } else if (!memcmp(str, "brl=", 4)) {
    *brl_options = *str + 4;
    *str = strchr(*brl_options, ',');
    - if (!*str)
    + if (!*str) {
    pr_err("need port name after brl=\n");
    - else
    - *((*str)++) = 0;
    - } else
    - return NULL;
    + return -EINVAL;
    + }
    + *((*str)++) = 0;
    + }

    - return *str;
    + return 0;
    }

    int
    --- a/kernel/printk/braille.h
    +++ b/kernel/printk/braille.h
    @@ -9,7 +9,14 @@ braille_set_options(struct console_cmdli
    c->brl_options = brl_options;
    }

    -char *
    +/*
    + * Setup console according to braille options.
    + * Return -EINVAL on syntax error, 0 on success (or no braille option was
    + * actually given).
    + * Modifies str to point to the serial options
    + * Sets brl_options to the parsed braille options.
    + */
    +int
    _braille_console_setup(char **str, char **brl_options);

    int
    @@ -25,10 +32,10 @@ braille_set_options(struct console_cmdli
    {
    }

    -static inline char *
    +static inline int
    _braille_console_setup(char **str, char **brl_options)
    {
    - return NULL;
    + return 0;
    }

    static inline int

    \
     
     \ /
      Last update: 2018-03-19 19:09    [W:4.226 / U:0.648 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site