diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-30 07:20:58 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-03-30 07:20:57 -0700 |
| commit | 928cd38621942548217aa62a12110f0e02cb813b (patch) | |
| tree | 0ed72e301f1c7a85a158e322bf881463bd83d442 | |
| parent | c63da8bee6dc44aa118f5414758e44eaa8e854cf (diff) | |
| parent | b9732c9865d7ddf8eb5ba6d27db8081ad59c815a (diff) | |
Merge "soc: qcom: fix to avoid multiple memory allocations"
| -rw-r--r-- | drivers/soc/qcom/wcd-dsp-glink.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/soc/qcom/wcd-dsp-glink.c b/drivers/soc/qcom/wcd-dsp-glink.c index 1ceded4db79f..f601e6646852 100644 --- a/drivers/soc/qcom/wcd-dsp-glink.c +++ b/drivers/soc/qcom/wcd-dsp-glink.c @@ -531,6 +531,13 @@ static int wdsp_glink_ch_info_init(struct wdsp_glink_priv *wpriv, u8 *payload; u32 ch_size, ch_cfg_size; + mutex_lock(&wpriv->glink_mutex); + if (wpriv->ch) { + dev_err(wpriv->dev, "%s: glink ch memory is already allocated\n", + __func__); + ret = -EINVAL; + goto done; + } payload = (u8 *)pkt->payload; no_of_channels = pkt->no_of_channels; @@ -611,6 +618,7 @@ err_ch_mem: wpriv->no_of_channels = 0; done: + mutex_unlock(&wpriv->glink_mutex); return ret; } |
