[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a006f099-578f-45aa-b165-64e28b8f930e@kernel.org>
Date: Tue, 22 Jul 2025 13:06:24 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Mohammad Rafi Shaik <mohammad.rafi.shaik@....qualcomm.com>
Cc: Srinivas Kandagatla <srini@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, Philipp Zabel <p.zabel@...gutronix.de>,
Linus Walleij <linus.walleij@...aro.org>, Bartosz Golaszewski
<brgl@...ev.pl>, linux-arm-msm@...r.kernel.org, linux-sound@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-gpio@...r.kernel.org, quic_pkumpatl@...cinc.com,
kernel@....qualcomm.com
Subject: Re: [PATCH v2 2/2] ASoC: codecs: wsa883x: Handle shared reset GPIO
for WSA883x speakers
On 22/07/2025 12:56, Mohammad Rafi Shaik wrote:
>
>
> On 7/21/2025 1:53 PM, Krzysztof Kozlowski wrote:
>> On Fri, Jul 18, 2025 at 04:16:28PM +0530, Mohammad Rafi Shaik wrote:
>>> On some Qualcomm platforms such as QCS6490-RB3Gen2, the multiple
>>> WSA8830/WSA8835 speakers share a common reset (shutdown) GPIO.
>>> To handle such cases, use the reset controller framework along
>>> with the "reset-gpio" driver.
>>>
>>> Register devm action to safely disable the regulator on device removal
>>> to prevents a potential release warning from _regulator_put().
>>
>> It is not possible to remove the device - suppress bind attrs. How did
>> you trigger that?
>>
> Ack,
>
> I encountered the warning as regulator was being released unexpectedly,
> triggering _regulator_put() warnings. While the device itself isn't
> removed, Registering the devm action ensures safe cleanup without
> triggering warnings.
Logs are cut - you do not see the most important part, who puts the
regulator?
How unregistering regulator solves the incomplete get/put paths? It
feels like you are hiding real problem instead of fixing it.
>
> Please check the below logs.
>
> I could use some suggestions for this issue. please help with some
> suggestions how i can approve this design.
>
> Thanks,
> Rafi.
...
> [ 10.679294][ T90] ------------[ cut here ]------------
> [ 10.684772][ T90] WARNING: CPU: 1 PID: 90 at
> /drivers/regulator/core.c:2450 _regulator_put+0x50/0x60
> [ 10.694344][ T90] Modules linked in: snd_soc_hdmi_codec
> phy_qcom_edp venus_dec venus_enc videobuf2_dma_contig rpmsg_ctrl
> qrtr_smd fastrpc rpmsg_char videobuf2_memops qcom_pd_mapper nb7vpq904m
> msm lontium_lt9611uxc ucsi_glink typec_ucsi pmic_glink_altmode
> qcom_battmgr aux_hpd_bridge ath11k_ahb ath11k hci_uart rtc_pm8xxx btqca
> coresight_stm bluetooth qcom_pon stm_core venus_core pwrseq_qcom_wcn
> drm_exec mac80211 ocmem v4l2_mem2mem gpu_sched videobuf2_v4l2 videodev
> nvmem_qcom_spmi_sdam qcom_spmi_adc_tm5 snd_soc_sc8280xp
> drm_display_helper qcom_vadc_common snd_soc_qcom_sdw coresight_tmc
> snd_soc_qcom_common videobuf2_common qcom_stats coresight_etm4x
> qcom_q6v5_pas phy_qcom_qmp_combo usb_f_qdss mc drm_dp_aux_bus
> ecdh_generic qcom_pil_info qcom_q6v5 ecc coresight_replicator aux_bridge
> coresight_csr qcom_sysmon coresight_funnel pwrseq_core gpi typec
> i2c_qcom_geni qcom_common coresight icc_bwmon llcc_qcom qcom_glink_smem
> qcrypto pinctrl_sc7280_lpass_lpi mdt_loader snd_soc_lpass_wsa_macro
> sha256_generic pinctrl_lpass_lpi
> [ 10.694524][ T90] snd_soc_lpass_va_macro display_connector
> snd_soc_lpass_macro_common authenc drm_kms_helper libdes qrtr libarc4
> icc_osm_l3 qcom_rng pmic_glink cfg80211 rfkill drm fuse ipv6
> [ 10.804083][ T90] CPU: 1 UID: 0 PID: 90 Comm: kworker/u32:4 Not
> tainted 6.14.0 #1
> [ 10.811959][ T90] Hardware name: Qualcomm Technologies, Inc.
> Robotics RB3gen2 (DT)
> [ 10.819920][ T90] Workqueue: events_unbound deferred_probe_work_func
> [ 10.826643][ T90] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT
> -SSBS BTYPE=--)
> [ 10.834510][ T90] pc : _regulator_put+0x50/0x60
> [ 10.839362][ T90] lr : regulator_put+0x30/0x48
> [ 10.844118][ T90] sp : ffff8000809e3670
> [ 10.848244][ T90] x29: ffff8000809e3670 x28: 0000000000000000 x27:
> ffff70941a04a080
> [ 10.856300][ T90] x26: 0000000000000000 x25: ffffbfa860a9bee8 x24:
> ffffbfa860e79cb0
> [ 10.864354][ T90] x23: ffff709406e62640 x22: ffff709418668808 x21:
> ffff8000809e3710
> [ 10.872409][ T90] x20: ffff709415e81840 x19: ffffbfa86119b680 x18:
> 00000000ffffffff
> [ 10.880462][ T90] x17: ffffbfa86013d058 x16: ffffbfa8601cbac4 x15:
> ffff709419a70b48
> [ 10.888517][ T90] x14: 0000000000000000 x13: ffff709400032b10 x12:
> 0000000000000000
> [ 10.896573][ T90] x11: 0000000000000000 x10: ffffbfa85fdbcc60 x9 :
> ffffbfa85fdbc7e0
> [ 10.904627][ T90] x8 : ffff709418668ab0 x7 : ffff709418668ab0 x6 :
> ffff709418668ab0
> [ 10.912676][ T90] x5 : ffff709418668ab0 x4 : ffff709418668ab0 x3 :
> ffff709415e807c0
> [ 10.920727][ T90] x2 : ffff709406e62640 x1 : 0000000000000001 x0 :
Everything above is irrelevant.
> ffff709415e81840
> [ 10.928781][ T90] Call trace:
> [ 10.932024][ T90] _regulator_put+0x50/0x60 (P)
> [ 10.936877][ T90] regulator_put+0x30/0x48
> -----------
And this is only relevant information which tells nothing. Are you sure
you pasted FULL log?
>
> Thanks & Regards,
> Rafi.
>
>> Best regards,
>> Krzysztof
>>
>
Best regards,
Krzysztof
Powered by blists - more mailing lists