diag: NRT read wakelocks held for very long time
During on-device logging with '-b' option,
NRT read wakelocks i.e. diag_nrt_modem_read
and diag_nrt_wcnss_read were held for more than
a day's time. This patch releases the wakelocks
even if SMD channel will be closed.
Change-Id: I7d211aaeaeb8d59369a191c5eef54c02a1b4a61d
CRs-Fixed: 513309
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
diff --git a/drivers/char/diag/diagfwd.c b/drivers/char/diag/diagfwd.c
index c74ab99..5b88b56 100644
--- a/drivers/char/diag/diagfwd.c
+++ b/drivers/char/diag/diagfwd.c
@@ -389,7 +389,7 @@
* Do not work with ref_count here in case
* of spurious interrupt
*/
- if (lock->enabled)
+ if (lock->enabled && !wake_lock_active(&lock->read_lock))
wake_lock(&lock->read_lock);
spin_unlock_irqrestore(&lock->read_spinlock, read_lock_flags);
}