diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2013-04-02 12:37:28 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-04-02 12:37:28 +0200 |
commit | 1745fb53ae0bb483767473e3c95d3420a5fb10e3 (patch) | |
tree | a6981e81c8a9f8ff94aae0fc1a8040523ba5fa58 | |
parent | dc925edf483f12fbde3ec61842812ea22e4d7a0e (diff) | |
download | xen-1745fb53ae0bb483767473e3c95d3420a5fb10e3.tar.gz xen-1745fb53ae0bb483767473e3c95d3420a5fb10e3.tar.bz2 xen-1745fb53ae0bb483767473e3c95d3420a5fb10e3.zip |
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@citrix.com>
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@suse.com>
master commit: 0611689d9153227831979c7bafe594214b8505a3
master date: 2013-03-22 09:43:38 +0100
-rw-r--r-- | 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 d57035bb5d..f0f4636b19 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); |