| From 2e5ad6b9c45d43cc4e7b8ac5ded1c55a7c4a3893 Mon Sep 17 00:00:00 2001 |
| From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| Date: Wed, 23 May 2012 12:53:11 -0400 |
| Subject: xen/hvc: Collapse error logic. |
| |
| From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| |
| commit 2e5ad6b9c45d43cc4e7b8ac5ded1c55a7c4a3893 upstream. |
| |
| All of the error paths are doing the same logic. In which |
| case we might as well collapse them in one path. |
| |
| Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> |
| Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/tty/hvc/hvc_xen.c | 21 +++++++++------------ |
| 1 file changed, 9 insertions(+), 12 deletions(-) |
| |
| --- a/drivers/tty/hvc/hvc_xen.c |
| +++ b/drivers/tty/hvc/hvc_xen.c |
| @@ -216,22 +216,16 @@ static int xen_hvm_console_init(void) |
| return 0; |
| |
| r = hvm_get_parameter(HVM_PARAM_CONSOLE_EVTCHN, &v); |
| - if (r < 0) { |
| - kfree(info); |
| - return -ENODEV; |
| - } |
| + if (r < 0) |
| + goto err; |
| info->evtchn = v; |
| hvm_get_parameter(HVM_PARAM_CONSOLE_PFN, &v); |
| - if (r < 0) { |
| - kfree(info); |
| - return -ENODEV; |
| - } |
| + if (r < 0) |
| + goto err; |
| mfn = v; |
| info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE); |
| - if (info->intf == NULL) { |
| - kfree(info); |
| - return -ENODEV; |
| - } |
| + if (info->intf == NULL) |
| + goto err; |
| info->vtermno = HVC_COOKIE; |
| |
| spin_lock(&xencons_lock); |
| @@ -239,6 +233,9 @@ static int xen_hvm_console_init(void) |
| spin_unlock(&xencons_lock); |
| |
| return 0; |
| +err: |
| + kfree(info); |
| + return -ENODEV; |
| } |
| |
| static int xen_pv_console_init(void) |