提交 2e5ad6b9 编写于 作者: K Konrad Rzeszutek Wilk

xen/hvc: Collapse error logic.

All of the error paths are doing the same logic. In which
case we might as well collapse them in one path.

CC: stable@kernel.org
Acked-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
上级 68c2c39a
...@@ -216,22 +216,16 @@ static int xen_hvm_console_init(void) ...@@ -216,22 +216,16 @@ static int xen_hvm_console_init(void)
return 0; return 0;
r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v); r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v);
if (r < 0) { if (r < 0)
kfree(info); goto err;
return -ENODEV;
}
info->evtchn = v; info->evtchn = v;
hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v); hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v);
if (r < 0) { if (r < 0)
kfree(info); goto err;
return -ENODEV;
}
mfn = v; mfn = v;
info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE); info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
if (info->intf == NULL) { if (info->intf == NULL)
kfree(info); goto err;
return -ENODEV;
}
info->vtermno = HVC_COOKIE; info->vtermno = HVC_COOKIE;
spin_lock(&xencons_lock); spin_lock(&xencons_lock);
...@@ -239,6 +233,9 @@ static int xen_hvm_console_init(void) ...@@ -239,6 +233,9 @@ static int xen_hvm_console_init(void)
spin_unlock(&xencons_lock); spin_unlock(&xencons_lock);
return 0; return 0;
err:
kfree(info);
return -ENODEV;
} }
static int xen_pv_console_init(void) static int xen_pv_console_init(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册