[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPgLHd_AO6mEwaemSobCMwCg2J=xmH+-FF0Ek+PS8ZYdHJStXw@mail.gmail.com>
Date: Tue, 7 Jan 2014 21:11:25 +0800
From: Wei Yongjun <weiyj.lk@...il.com>
To: konrad.wilk@...cle.com, boris.ostrovsky@...cle.com,
david.vrabel@...rix.com
Cc: yongjun_wei@...ndmicro.com.cn, xen-devel@...ts.xenproject.org,
linux-kernel@...r.kernel.org
Subject: [PATCH -next] xen/evtchn_fifo: fix error return code in evtchn_fifo_setup()
From: Wei Yongjun <yongjun_wei@...ndmicro.com.cn>
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 <yongjun_wei@...ndmicro.com.cn>
---
drivers/xen/events/events_fifo.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c
index e2bf957..89e4893 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;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists