diff options
author | Timur Tabi <timur@codeaurora.org> | 2015-09-12 12:44:38 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-04 17:49:27 +0100 |
commit | 3d27070108216b5c689dd3d0bf3ac10ef88570f7 (patch) | |
tree | f1e776a9f5b91c23b66569ddb908fef5bc3da3d6 /drivers/tty/hvc/hvc_dcc.c | |
parent | 9af92fbff3b06d75470717361076aa7bd097ff8b (diff) | |
download | linux-3d27070108216b5c689dd3d0bf3ac10ef88570f7.tar.bz2 |
hvc_dcc: don't ignore errors during initialization
hvc_instantiate() and hvc_alloc() return errors if they fail, so don't
ignore them.
Signed-off-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/hvc/hvc_dcc.c')
-rw-r--r-- | drivers/tty/hvc/hvc_dcc.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/tty/hvc/hvc_dcc.c b/drivers/tty/hvc/hvc_dcc.c index 809920d80a66..82f240fb98f0 100644 --- a/drivers/tty/hvc/hvc_dcc.c +++ b/drivers/tty/hvc/hvc_dcc.c @@ -70,20 +70,27 @@ static const struct hv_ops hvc_dcc_get_put_ops = { static int __init hvc_dcc_console_init(void) { + int ret; + 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; } console_initcall(hvc_dcc_console_init); static int __init hvc_dcc_init(void) { + struct hvc_struct *p; + 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 PTR_ERR_OR_ZERO(p); } device_initcall(hvc_dcc_init); |