From: sashiko-bot@kernel.org
To: "Srinivas Kandagatla" <srinivas.kandagatla@oss.qualcomm.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 8/8] ASoC: codecs: add Qualcomm Tambora (WCD9378) SDCA codec
Date: Fri, 18 Sep 2026 14:37:08 +0000 [thread overview]
Message-ID: <20260918143708.882B01F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260918131914.681588-9-srinivas.kandagatla@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] ASoC: wcd9378: Missing DT-derived micbias patching
- [Medium] ASoC: wcd9378: Meaningful code and commit message mismatch regarding DT property
- [Medium] ASoC: wcd9378: Unprotected modification of static global topology array
--
commit b641a8d55f5574997647d703d7136b63d9de6c0b
Author: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
ASoC: codecs: add Qualcomm Tambora (WCD9378) SDCA codec
Add support for the Qualcomm Tambora (WCD9378) headset codec in SDCA
mode over SoundWire. On ARM/DT platforms without ACPI/DisCo firmware
the SDCA topology and SoundWire port properties are supplied as static
data through the codec driver.
> Binds SoundWire slave id 0x0217:0x0110 when qcom,compute-mode is set
> on the DT node.
[Severity: Medium]
The commit message mentions that the driver binds when qcom,compute-mode is
set on the DT node, but the code actually checks for qcom,sdca-compliant. Is
this a typo in the commit message or should the driver be checking for a
different property?
> diff --git a/sound/soc/codecs/wcd9378-sdca.c b/sound/soc/codecs/wcd9378-sdca.c
> index 0000000000000..f1f94c13cba52
> --- /dev/null
> +++ b/sound/soc/codecs/wcd9378-sdca.c
[ ... ]
> +static int wcd9378_sdca_populate_function(struct sdw_slave *slave,
> + struct sdca_function_data *function)
> +{
> + /* @function->desc is already set by the framework; fill payload only. */
> + if (function->desc->type != wcd9378_sdca_desc.type)
> + return -EINVAL;
> +
> + function->num_entities = wcd9378_sdca_data.num_entities;
> + function->entities = wcd9378_sdca_data.entities;
> + function->num_clusters = wcd9378_sdca_data.num_clusters;
> + function->clusters = wcd9378_sdca_data.clusters;
> + function->num_init_table = wcd9378_sdca_data.num_init_table;
> + function->init_table = wcd9378_sdca_data.init_table;
> + function->reset_max_delay = wcd9378_sdca_data.reset_max_delay;
> +
[Severity: High]
The commit message mentions that this function patches the IT 33 MIC_BIAS
default with the DT-derived per-slave value (qcom,micbias2-microvolt). Does this
function miss the logic to parse the DT property and patch the micbias voltage?
Currently, the micbias voltage remains hardcoded at 2.75V via
range_it33_micbias_data[]. Hardware requiring a different voltage might receive
2.75V instead.
> + /* Elevate is_volatile / has_reset to match the DisCo/ACPI path. */
> + sdca_apply_default_control_classifiers(function);
[Severity: Medium]
Does wcd9378_sdca_populate_function() improperly mutate the statically
declared global array wcd9378_sdca_entities[]?
The driver maps the global wcd9378_sdca_data.entities to function->entities
and then passes it to sdca_apply_default_control_classifiers(), which modifies
the is_volatile and has_reset booleans in-place. If multiple instances probe
concurrently, could this cause a data race or violate device isolation?
> +
> + return 0;
> +}
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260918131914.681588-1-srinivas.kandagatla@oss.qualcomm.com?part=8
prev parent reply other threads:[~2026-09-18 14:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 13:19 [PATCH v4 0/8] ASoC: Qualcomm Tambora (WCD9378) SDCA codec Srinivas Kandagatla
2026-09-18 13:19 ` [PATCH v4 1/8] ASoC: SDCA: allow building without ACPI Srinivas Kandagatla
2026-09-18 13:42 ` sashiko-bot
2026-09-25 15:15 ` Srinivas Kandagatla
2026-09-22 13:32 ` Mark Brown
2026-09-23 8:15 ` Srinivas Kandagatla
2026-09-18 13:19 ` [PATCH v4 2/8] ASoC: SDCA: export PM helpers keyed on sdca_class_drv Srinivas Kandagatla
2026-09-18 13:49 ` sashiko-bot
2026-09-25 15:11 ` Srinivas Kandagatla
2026-09-18 13:19 ` [PATCH v4 3/8] ASoC: SDCA: expose class SoundWire probe/remove as library Srinivas Kandagatla
2026-09-18 13:19 ` [PATCH v4 4/8] ASoC: SDCA: add class_ops with populate_function Srinivas Kandagatla
2026-09-18 14:08 ` sashiko-bot
2026-09-25 15:09 ` Srinivas Kandagatla
2026-09-18 14:15 ` Charles Keepax
2026-09-18 13:19 ` [PATCH v4 5/8] ASoC: SDCA: class_function: xlate sound-dai cell by entity index Srinivas Kandagatla
2026-09-18 13:19 ` [PATCH v4 6/8] ASoC: SDCA: add sdca_apply_default_control_classifiers() helper Srinivas Kandagatla
2026-09-18 14:16 ` Charles Keepax
2026-09-18 14:20 ` Srinivas Kandagatla
2026-09-18 13:19 ` [PATCH v4 7/8] dt-bindings: sound: qcom: add Tambora WCD9378 SDCA codec Srinivas Kandagatla
2026-09-18 13:51 ` Mark Brown
2026-09-23 8:05 ` Krzysztof Kozlowski
2026-09-18 13:19 ` [PATCH v4 8/8] ASoC: codecs: add Qualcomm Tambora (WCD9378) " Srinivas Kandagatla
2026-09-18 14:28 ` Charles Keepax
2026-09-18 14:37 ` sashiko-bot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260918143708.882B01F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=srinivas.kandagatla@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.