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

[Xen-changelog] [xen master] ACPI/APEI: Unlock apei_iomaps_lock on error path



commit 0611689d9153227831979c7bafe594214b8505a3
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Fri Mar 22 09:43:38 2013 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Mar 22 09:43:38 2013 +0100

    ACPI/APEI: Unlock apei_iomaps_lock on error path
    
    This causes deadlocks during early boot on hardware with broken/buggy
    APEI implementations, such as a Dell Poweredge 2950 with the latest
    currently available BIOS.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    
    Don't use goto or another special error path, as handling the error
    case in normal flow is quite simple.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
 xen/drivers/acpi/apei/apei-io.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/acpi/apei/apei-io.c b/xen/drivers/acpi/apei/apei-io.c
index d57035b..f0f4636 100644
--- a/xen/drivers/acpi/apei/apei-io.c
+++ b/xen/drivers/acpi/apei/apei-io.c
@@ -146,10 +146,8 @@ static void __init apei_post_unmap(paddr_t paddr, unsigned 
long size)
 
        spin_lock_irqsave(&apei_iomaps_lock, flags);
        map = __apei_find_iomap(paddr, size);
-       if (!map)
-               return;
-
-       list_del(&map->list);
+       if (map)
+               list_del(&map->list);
        spin_unlock_irqrestore(&apei_iomaps_lock, flags);
 
        xfree(map);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
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®.