mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-10 00:05:14 -05:00
59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
|
From 34cff2eb2adc663de32ca682b57551c50c9253c6 Mon Sep 17 00:00:00 2001
|
||
|
From: Skylar Chang <chiaweic@codeaurora.org>
|
||
|
Date: Fri, 21 Apr 2017 10:42:57 -0700
|
||
|
Subject: [PATCH] msm: ipa: fix IPC low priority logging
|
||
|
|
||
|
Allocate IPC low priority on first usage only.
|
||
|
|
||
|
Bug: 62827190
|
||
|
Change-Id: Icea7f0fad9ed34c93641296f68736bbaf2e6eaa9
|
||
|
CRs-Fixed: 2016076
|
||
|
Acked-by: Ady Abraham <adya@qti,qualcomm.com>
|
||
|
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
|
||
|
---
|
||
|
drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c | 17 ++++++++---------
|
||
|
1 file changed, 8 insertions(+), 9 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c b/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
|
||
|
index 12127a2304bbc..66482e2dc0634 100644
|
||
|
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
|
||
|
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
|
||
|
@@ -105,6 +105,7 @@ static char dbg_buff[IPA_MAX_MSG_LEN];
|
||
|
static char *active_clients_buf;
|
||
|
|
||
|
static s8 ep_reg_idx;
|
||
|
+static void *ipa_ipc_low_buff;
|
||
|
|
||
|
|
||
|
static ssize_t ipa3_read_gen_reg(struct file *file, char __user *ubuf,
|
||
|
@@ -1610,22 +1611,20 @@ static ssize_t ipa3_enable_ipc_low(struct file *file,
|
||
|
if (kstrtos8(dbg_buff, 0, &option))
|
||
|
return -EFAULT;
|
||
|
|
||
|
+ mutex_lock(&ipa3_ctx->lock);
|
||
|
if (option) {
|
||
|
- if (!ipa3_ctx->logbuf_low) {
|
||
|
- ipa3_ctx->logbuf_low =
|
||
|
+ if (!ipa_ipc_low_buff) {
|
||
|
+ ipa_ipc_low_buff =
|
||
|
ipc_log_context_create(IPA_IPC_LOG_PAGES,
|
||
|
"ipa_low", 0);
|
||
|
}
|
||
|
-
|
||
|
- if (ipa3_ctx->logbuf_low == NULL) {
|
||
|
- IPAERR("failed to get logbuf_low\n");
|
||
|
- return -EFAULT;
|
||
|
- }
|
||
|
+ if (ipa_ipc_low_buff == NULL)
|
||
|
+ IPAERR("failed to get logbuf_low\n");
|
||
|
+ ipa3_ctx->logbuf_low = ipa_ipc_low_buff;
|
||
|
} else {
|
||
|
- if (ipa3_ctx->logbuf_low)
|
||
|
- ipc_log_context_destroy(ipa3_ctx->logbuf_low);
|
||
|
ipa3_ctx->logbuf_low = NULL;
|
||
|
}
|
||
|
+ mutex_unlock(&ipa3_ctx->lock);
|
||
|
|
||
|
return count;
|
||
|
}
|