From: Julia Lawall <julia@xxxxxxx> Adjust the default case so that it benefits from the call to rcu_read_unlock. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @rcu@ position p1; @@ rcu_read_lock@p1(); ... rcu_read_unlock(); @@ position rcu.p1; @@ *rcu_read_lock@p1(); ... when != rcu_read_unlock(); // </smpl> Signed-off-by: Julia Lawall <julia@xxxxxxx> --- drivers/acpi/atomicio.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/acpi/atomicio.c b/drivers/acpi/atomicio.c index 8f8bd73..f426010 100644 --- a/drivers/acpi/atomicio.c +++ b/drivers/acpi/atomicio.c @@ -267,6 +267,7 @@ EXPORT_SYMBOL_GPL(acpi_post_unmap_gar); static int acpi_atomic_read_mem(u64 paddr, u64 *val, u32 width) { void __iomem *addr; + int res = 0; rcu_read_lock(); addr = __acpi_ioremap_fast(paddr, width); @@ -284,16 +285,17 @@ static int acpi_atomic_read_mem(u64 paddr, u64 *val, u32 width) *val = readq(addr); break; default: - return -EINVAL; + res = -EINVAL; } rcu_read_unlock(); - return 0; + return res; } static int acpi_atomic_write_mem(u64 paddr, u64 val, u32 width) { void __iomem *addr; + int res = 0; rcu_read_lock(); addr = __acpi_ioremap_fast(paddr, width); @@ -311,11 +313,11 @@ static int acpi_atomic_write_mem(u64 paddr, u64 val, u32 width) writeq(val, addr); break; default: - return -EINVAL; + res = -EINVAL; } rcu_read_unlock(); - return 0; + return res; } /* GAR accessing in atomic (including NMI) or process context */ -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html