diff options
| author | Banajit Goswami <bgoswami@codeaurora.org> | 2016-01-06 12:13:17 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-17 11:40:14 -0800 |
| commit | 76771ab5ac87148a0f888c357029e13bdab395c4 (patch) | |
| tree | d11144de416834f9604ae367ab8303977d6a6126 | |
| parent | efdbbff86b713b95edc8e343ae12c9639f45e65b (diff) | |
mfd: wcd9xxx: send down notification to devices before cleaning-up IRQs
IRQ clean up should be done only after codec devices have been
notified with device down. Without this, there are chances of
race-condition where some of the resources like locks used for
safe handling of the IRQs would be used after those are freed.
CRs-Fixed: 1102353
Change-Id: I276571a7e50fcf227febd86494589b14988e3d41
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
| -rw-r--r-- | drivers/mfd/wcd9xxx-core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mfd/wcd9xxx-core.c b/drivers/mfd/wcd9xxx-core.c index 5bcd0db929b3..54a5e9b1e0d9 100644 --- a/drivers/mfd/wcd9xxx-core.c +++ b/drivers/mfd/wcd9xxx-core.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2011-2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2011-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -1508,9 +1508,9 @@ static int wcd9xxx_slim_device_down(struct slim_device *sldev) return 0; wcd9xxx->dev_up = false; - wcd9xxx_irq_exit(&wcd9xxx->core_res); if (wcd9xxx->dev_down) wcd9xxx->dev_down(wcd9xxx); + wcd9xxx_irq_exit(&wcd9xxx->core_res); wcd9xxx_reset_low(wcd9xxx->dev); return 0; } |
