forked from luck/tmp_suning_uos_patched
tty: vt, get rid of weird source code flow
Some code in vc_allocate is indented by 4 spaces. It is inside a condition. Invert the condition and move the code to the first indentation level (using \tab). And insert some empty lines to have logical code blocks separated. Then, instead of freeing in an 'if' false branch, use goto-error label as fail path. Maybe better to look at this patch with diff -w -b. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
182846a00f
commit
34902b7f27
@ -760,46 +760,54 @@ static void visual_init(struct vc_data *vc, int num, int init)
|
|||||||
|
|
||||||
int vc_allocate(unsigned int currcons) /* return 0 on success */
|
int vc_allocate(unsigned int currcons) /* return 0 on success */
|
||||||
{
|
{
|
||||||
|
struct vt_notifier_param param;
|
||||||
|
struct vc_data *vc;
|
||||||
|
|
||||||
WARN_CONSOLE_UNLOCKED();
|
WARN_CONSOLE_UNLOCKED();
|
||||||
|
|
||||||
if (currcons >= MAX_NR_CONSOLES)
|
if (currcons >= MAX_NR_CONSOLES)
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
if (!vc_cons[currcons].d) {
|
|
||||||
struct vc_data *vc;
|
|
||||||
struct vt_notifier_param param;
|
|
||||||
|
|
||||||
/* due to the granularity of kmalloc, we waste some memory here */
|
if (vc_cons[currcons].d)
|
||||||
/* the alloc is done in two steps, to optimize the common situation
|
return 0;
|
||||||
of a 25x80 console (structsize=216, screenbuf_size=4000) */
|
|
||||||
/* although the numbers above are not valid since long ago, the
|
/* due to the granularity of kmalloc, we waste some memory here */
|
||||||
point is still up-to-date and the comment still has its value
|
/* the alloc is done in two steps, to optimize the common situation
|
||||||
even if only as a historical artifact. --mj, July 1998 */
|
of a 25x80 console (structsize=216, screenbuf_size=4000) */
|
||||||
param.vc = vc = kzalloc(sizeof(struct vc_data), GFP_KERNEL);
|
/* although the numbers above are not valid since long ago, the
|
||||||
if (!vc)
|
point is still up-to-date and the comment still has its value
|
||||||
|
even if only as a historical artifact. --mj, July 1998 */
|
||||||
|
param.vc = vc = kzalloc(sizeof(struct vc_data), GFP_KERNEL);
|
||||||
|
if (!vc)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
vc_cons[currcons].d = vc;
|
|
||||||
tty_port_init(&vc->port);
|
vc_cons[currcons].d = vc;
|
||||||
INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
|
tty_port_init(&vc->port);
|
||||||
visual_init(vc, currcons, 1);
|
INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
|
||||||
if (!*vc->vc_uni_pagedir_loc)
|
|
||||||
|
visual_init(vc, currcons, 1);
|
||||||
|
|
||||||
|
if (!*vc->vc_uni_pagedir_loc)
|
||||||
con_set_default_unimap(vc);
|
con_set_default_unimap(vc);
|
||||||
vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL);
|
|
||||||
if (!vc->vc_screenbuf) {
|
|
||||||
kfree(vc);
|
|
||||||
vc_cons[currcons].d = NULL;
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* If no drivers have overridden us and the user didn't pass a
|
vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL);
|
||||||
boot option, default to displaying the cursor */
|
if (!vc->vc_screenbuf)
|
||||||
if (global_cursor_default == -1)
|
goto err_free;
|
||||||
global_cursor_default = 1;
|
|
||||||
|
/* If no drivers have overridden us and the user didn't pass a
|
||||||
|
boot option, default to displaying the cursor */
|
||||||
|
if (global_cursor_default == -1)
|
||||||
|
global_cursor_default = 1;
|
||||||
|
|
||||||
|
vc_init(vc, vc->vc_rows, vc->vc_cols, 1);
|
||||||
|
vcs_make_sysfs(currcons);
|
||||||
|
atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, ¶m);
|
||||||
|
|
||||||
vc_init(vc, vc->vc_rows, vc->vc_cols, 1);
|
|
||||||
vcs_make_sysfs(currcons);
|
|
||||||
atomic_notifier_call_chain(&vt_notifier_list, VT_ALLOCATE, ¶m);
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
|
err_free:
|
||||||
|
kfree(vc);
|
||||||
|
vc_cons[currcons].d = NULL;
|
||||||
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int resize_screen(struct vc_data *vc, int width, int height,
|
static inline int resize_screen(struct vc_data *vc, int width, int height,
|
||||||
|
Loading…
Reference in New Issue
Block a user