[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] [IA64] Move vfree() out of irq disabled code.



# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1189091393 21600
# Node ID 438379d47b24feb72cdd7457f377358d828d1c2a
# Parent  df2d73ab847a0766f016981704e04fb0a15819de
[IA64] Move vfree() out of irq disabled code.

Signed-off-by: Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx>
---
 arch/ia64/kernel/salinfo.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletion(-)

diff -r df2d73ab847a -r 438379d47b24 arch/ia64/kernel/salinfo.c
--- a/arch/ia64/kernel/salinfo.c        Tue Aug 28 12:44:22 2007 -0600
+++ b/arch/ia64/kernel/salinfo.c        Thu Sep 06 09:09:53 2007 -0600
@@ -408,6 +408,7 @@ salinfo_log_release(struct inode *inode,
 #ifdef CONFIG_XEN
                if (is_running_on_xen()) {
                        struct list_head *pos, *n;
+                       ia64_mca_xencomm_t *found_entry = NULL;
                        unsigned long flags;
 
                        spin_lock_irqsave(&ia64_mca_xencomm_lock, flags);
@@ -417,10 +418,15 @@ salinfo_log_release(struct inode *inode,
                                entry = list_entry(pos, ia64_mca_xencomm_t, 
list);
                                if (entry->record == data->log_buffer) {
                                        list_del(&entry->list);
-                                       vfree(entry);
+                                       found_entry = entry;
+                                       break;
                                }
                        }
                        spin_unlock_irqrestore(&ia64_mca_xencomm_lock, flags);
+                       if (found_entry) {
+                               xencomm_free(found_entry->handle);
+                               vfree(found_entry);
+                       }
                }
 #endif
                vfree(data->log_buffer);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.