From: Wei Yongjun Date: Tue, 7 Jan 2014 13:11:25 +0000 (+0800) Subject: xen/evtchn_fifo: fix error return code in evtchn_fifo_setup() X-Git-Tag: android-x86-4.4-r2~1566^2~17 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=be1403b9e66bea9d64db9198256cb27532a870b1;p=android-x86%2Fkernel.git xen/evtchn_fifo: fix error return code in evtchn_fifo_setup() Fix to return -ENOMEM from the error handling case instead of 0 (overwrited to 0 by the HYPERVISOR_event_channel_op call), otherwise the error condition cann't be reflected from the return value. Signed-off-by: Wei Yongjun Signed-off-by: Konrad Rzeszutek Wilk Reviewed-by: David Vrabel --- diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c index e2bf9571f7fe..5b2c039f16c5 100644 --- a/drivers/xen/events/events_fifo.c +++ b/drivers/xen/events/events_fifo.c @@ -109,7 +109,7 @@ static int evtchn_fifo_setup(struct irq_info *info) { unsigned port = info->evtchn; unsigned new_array_pages; - int ret = -ENOMEM; + int ret; new_array_pages = port / EVENT_WORDS_PER_PAGE + 1; @@ -124,8 +124,10 @@ static int evtchn_fifo_setup(struct irq_info *info) array_page = event_array[event_array_pages]; if (!array_page) { array_page = (void *)__get_free_page(GFP_KERNEL); - if (array_page == NULL) + if (array_page == NULL) { + ret = -ENOMEM; goto error; + } event_array[event_array_pages] = array_page; }