Re: [PATCH 2/4] hvc_dcc: don't ignore errors during initialization

From: Stephen Boyd
Date: Wed Jul 01 2015 - 19:55:13 EST


On 06/30/2015 02:23 PM, Timur Tabi wrote:
> hvc_instantiate() and hvc_alloc() return errors if they fail, so don't
> ignore them.
>
> Signed-off-by: Timur Tabi <timur@xxxxxxxxxxxxxx>
> ---
> drivers/tty/hvc/hvc_dcc.c | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/tty/hvc/hvc_dcc.c b/drivers/tty/hvc/hvc_dcc.c
> index 33657dc..f8b8cf2 100644
> --- a/drivers/tty/hvc/hvc_dcc.c
> +++ b/drivers/tty/hvc/hvc_dcc.c
> @@ -225,20 +225,29 @@ static const struct hv_ops hvc_dcc_get_put_ops = {
>
> static int __init hvc_dcc_console_init(void)
> {
> + int ret;
> +
> + /* This always runs on boot core */
> if (!hvc_dcc_check())
> return -ENODEV;
>
> - hvc_instantiate(0, 0, &hvc_dcc_get_put_ops);
> - return 0;
> + /* Returns -1 if error */
> + ret = hvc_instantiate(0, 0, &hvc_dcc_get_put_ops);
> +
> + return ret < 0 ? -ENODEV : 0;

Why not just return the value that hvc_instantiate returns? And maybe we
should change those -1 in hvc_instantiate into -EPERM?

> }
> console_initcall(hvc_dcc_console_init);
>
> static int __init hvc_dcc_init(void)
> {
> + struct hvc_struct *p;
> +
> + /* This can run on any core */
> if (!hvc_dcc_check())
> return -ENODEV;
>
> - hvc_alloc(0, 0, &hvc_dcc_get_put_ops, 128);
> - return 0;
> + p = hvc_alloc(0, 0, &hvc_dcc_get_put_ops, 128);
> +
> + return IS_ERR(p) ? PTR_ERR(p) : 0;

return PTR_ERR_OR_ZERO()?

> }
> device_initcall(hvc_dcc_init);


--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/