summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/xen/events/events_fifo.c6
1 files changed, 4 insertions, 2 deletions
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;
}