All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Wesley Cheng <quic_wcheng@quicinc.com>,
	Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-usb@vger.kernel.org, linux-phy@lists.infradead.org
Subject: Re: [PATCH v2 05/15] usb: typec: tcpm: fix the PD disabled case
Date: Mon, 15 Jan 2024 10:00:03 +0100	[thread overview]
Message-ID: <12361952.O9o76ZdvQC@steina-w> (raw)
In-Reply-To: <20240113-pmi632-typec-v2-5-182d9aa0a5b3@linaro.org>

Hi Dmitry,

Am Samstag, 13. Januar 2024, 21:55:48 CET schrieb Dmitry Baryshkov:
> If the PD is disabled for the port, port->pds will be left as NULL,
> which causes the following crash during caps intilisation. Fix the
> crash.
> 
> Unable to handle kernel NULL pointer dereference at virtual address
> 0000000000000000 Call trace:
>  tcpm_register_port+0xaec/0xc44
>  qcom_pmic_typec_probe+0x1a4/0x254
>  platform_probe+0x68/0xc0
>  really_probe+0x148/0x2ac
>  __driver_probe_device+0x78/0x12c
>  driver_probe_device+0xd8/0x160
> Bluetooth: hci0: QCA Product ID   :0x0000000a
>  __device_attach_driver+0xb8/0x138
>  bus_for_each_drv+0x80/0xdc
> Bluetooth: hci0: QCA SOC Version  :0x40020150
>  __device_attach+0x9c/0x188
>  device_initial_probe+0x14/0x20
>  bus_probe_device+0xac/0xb0
>  deferred_probe_work_func+0x8c/0xc8
>  process_one_work+0x1ec/0x51c
>  worker_thread+0x1ec/0x3e4
>  kthread+0x120/0x124
>  ret_from_fork+0x10/0x20
> 
> Fixes: cd099cde4ed2 ("usb: typec: tcpm: Support multiple capabilities")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/usb/typec/tcpm/tcpm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index 5945e3a2b0f7..a0978ed1a257 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -6848,7 +6848,8 @@ struct tcpm_port *tcpm_register_port(struct device
> *dev, struct tcpc_dev *tcpc) if (err)
>  		goto out_role_sw_put;
> 
> -	port->typec_caps.pd = port->pds[0];
> +	if (port->pds)

I'm wondering if the check should be for port->pd_supported instead.
Nevertheless this works on my "pd-disable" platform as well.

Best regards,
Alexander

> +		port->typec_caps.pd = port->pds[0];
> 
>  	port->typec_port = typec_register_port(port->dev, &port-
>typec_caps);
>  	if (IS_ERR(port->typec_port)) {


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



WARNING: multiple messages have this Message-ID (diff)
From: Alexander Stein <alexander.stein@ew.tq-group.com>
To: Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Wesley Cheng <quic_wcheng@quicinc.com>,
	Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
	linux-usb@vger.kernel.org, linux-phy@lists.infradead.org
Subject: Re: [PATCH v2 05/15] usb: typec: tcpm: fix the PD disabled case
Date: Mon, 15 Jan 2024 10:00:03 +0100	[thread overview]
Message-ID: <12361952.O9o76ZdvQC@steina-w> (raw)
In-Reply-To: <20240113-pmi632-typec-v2-5-182d9aa0a5b3@linaro.org>

Hi Dmitry,

Am Samstag, 13. Januar 2024, 21:55:48 CET schrieb Dmitry Baryshkov:
> If the PD is disabled for the port, port->pds will be left as NULL,
> which causes the following crash during caps intilisation. Fix the
> crash.
> 
> Unable to handle kernel NULL pointer dereference at virtual address
> 0000000000000000 Call trace:
>  tcpm_register_port+0xaec/0xc44
>  qcom_pmic_typec_probe+0x1a4/0x254
>  platform_probe+0x68/0xc0
>  really_probe+0x148/0x2ac
>  __driver_probe_device+0x78/0x12c
>  driver_probe_device+0xd8/0x160
> Bluetooth: hci0: QCA Product ID   :0x0000000a
>  __device_attach_driver+0xb8/0x138
>  bus_for_each_drv+0x80/0xdc
> Bluetooth: hci0: QCA SOC Version  :0x40020150
>  __device_attach+0x9c/0x188
>  device_initial_probe+0x14/0x20
>  bus_probe_device+0xac/0xb0
>  deferred_probe_work_func+0x8c/0xc8
>  process_one_work+0x1ec/0x51c
>  worker_thread+0x1ec/0x3e4
>  kthread+0x120/0x124
>  ret_from_fork+0x10/0x20
> 
> Fixes: cd099cde4ed2 ("usb: typec: tcpm: Support multiple capabilities")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/usb/typec/tcpm/tcpm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index 5945e3a2b0f7..a0978ed1a257 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -6848,7 +6848,8 @@ struct tcpm_port *tcpm_register_port(struct device
> *dev, struct tcpc_dev *tcpc) if (err)
>  		goto out_role_sw_put;
> 
> -	port->typec_caps.pd = port->pds[0];
> +	if (port->pds)

I'm wondering if the check should be for port->pd_supported instead.
Nevertheless this works on my "pd-disable" platform as well.

Best regards,
Alexander

> +		port->typec_caps.pd = port->pds[0];
> 
>  	port->typec_port = typec_register_port(port->dev, &port-
>typec_caps);
>  	if (IS_ERR(port->typec_port)) {


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2024-01-15  9:00 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-13 20:55 [PATCH v2 00/15] usb: typec: qcom-pmic-typec: enable support for PMI632 PMIC Dmitry Baryshkov
2024-01-13 20:55 ` Dmitry Baryshkov
2024-01-13 20:55 ` [PATCH v2 01/15] dt-bindings: regulator: qcom,usb-vbus-regulator: add support for PMI632 Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-15  7:58   ` Krzysztof Kozlowski
2024-01-15  7:58     ` Krzysztof Kozlowski
2024-01-13 20:55 ` [PATCH v2 02/15] dt-bindings: usb: qcom,pmic-typec: add support for the PMI632 block Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-15  7:59   ` Krzysztof Kozlowski
2024-01-15  7:59     ` Krzysztof Kozlowski
2024-01-13 20:55 ` [PATCH v2 03/15] dt-bindings: phy: qcom,msm8998-qmp-usb3-phy: split from sc8280xp PHY schema Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-15  8:00   ` Krzysztof Kozlowski
2024-01-15  8:00     ` Krzysztof Kozlowski
2024-01-13 20:55 ` [PATCH v2 04/15] dt-bindings: phy: qcom,msm8998-qmp-usb3-phy: support USB-C data Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-15  9:15   ` Krzysztof Kozlowski
2024-01-15  9:15     ` Krzysztof Kozlowski
2024-01-15  9:47     ` Dmitry Baryshkov
2024-01-15  9:47       ` Dmitry Baryshkov
2024-01-15 10:21   ` Krzysztof Kozlowski
2024-01-15 10:21     ` Krzysztof Kozlowski
2024-01-13 20:55 ` [PATCH v2 05/15] usb: typec: tcpm: fix the PD disabled case Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-15  9:00   ` Alexander Stein [this message]
2024-01-15  9:00     ` Alexander Stein
2024-01-18  9:53   ` Heikki Krogerus
2024-01-18  9:53     ` Heikki Krogerus
2024-01-13 20:55 ` [PATCH v2 06/15] usb: typec: qcom-pmic-typec: fix arguments of qcom_pmic_typec_pdphy_set_roles Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-14 15:51   ` Bryan O'Donoghue
2024-01-14 15:51     ` Bryan O'Donoghue
2024-01-14 16:13   ` Bryan O'Donoghue
2024-01-14 16:13     ` Bryan O'Donoghue
2024-01-13 20:55 ` [PATCH v2 07/15] usb: typec: qcom-pmic-typec: allow different implementations for the PD PHY Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-13 20:55 ` [PATCH v2 08/15] usb: typec: qcom-pmic-typec: allow different implementations for the port backend Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-14 16:12   ` Bryan O'Donoghue
2024-01-14 16:12     ` Bryan O'Donoghue
2024-01-13 20:55 ` [PATCH v2 09/15] usb: typec: qcom-pmic-typec: add support for PMI632 PMIC Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-16 12:32   ` Konrad Dybcio
2024-01-16 12:32     ` Konrad Dybcio
2024-01-16 12:56     ` Dmitry Baryshkov
2024-01-16 12:56       ` Dmitry Baryshkov
2024-01-16 14:23       ` Heikki Krogerus
2024-01-16 14:23         ` Heikki Krogerus
2024-01-25  0:07         ` Dmitry Baryshkov
2024-01-25  0:07           ` Dmitry Baryshkov
2024-01-25 11:03           ` Heikki Krogerus
2024-01-25 11:03             ` Heikki Krogerus
2024-01-13 20:55 ` [PATCH v2 10/15] phy: qcom: qmp-usb: split USB-C PHY driver Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-16 12:33   ` Konrad Dybcio
2024-01-16 12:33     ` Konrad Dybcio
2024-01-13 20:55 ` [PATCH v2 11/15] phy: qcom: qmp-usb: drop dual-lane handling Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-17  0:07   ` Jeff Johnson
2024-01-17  0:07     ` Jeff Johnson
2024-01-13 20:55 ` [PATCH v2 12/15] phy: qcom: qmp-usbc: add support for the Type-C handling Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-13 20:55 ` [PATCH v2 13/15] arm64: dts: qcom: pmi632: define USB-C related blocks Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-15 10:00   ` Konrad Dybcio
2024-01-15 10:00     ` Konrad Dybcio
2024-01-15 10:43     ` Dmitry Baryshkov
2024-01-15 10:43       ` Dmitry Baryshkov
2024-01-17 17:23       ` Bryan O'Donoghue
2024-01-17 17:23         ` Bryan O'Donoghue
2024-01-17 18:05         ` Dmitry Baryshkov
2024-01-17 18:05           ` Dmitry Baryshkov
2024-01-17 18:23           ` Bryan O'Donoghue
2024-01-17 18:23             ` Bryan O'Donoghue
2024-01-17 22:01     ` Bjorn Andersson
2024-01-17 22:01       ` Bjorn Andersson
2024-01-18 11:17       ` Konrad Dybcio
2024-01-18 11:17         ` Konrad Dybcio
2024-01-18 13:38         ` Dmitry Baryshkov
2024-01-18 13:38           ` Dmitry Baryshkov
2024-01-18 13:54           ` Konrad Dybcio
2024-01-18 13:54             ` Konrad Dybcio
2024-01-13 20:55 ` [PATCH v2 14/15] arm64: dts: qcom: sm6115: drop pipe clock selection Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-13 20:55 ` [PATCH v2 15/15] arm64: dts: qcom: qrb4210-rb2: enable USB-C port handling Dmitry Baryshkov
2024-01-13 20:55   ` Dmitry Baryshkov
2024-01-23 20:32   ` Luca Weiss
2024-01-23 20:32     ` Luca Weiss
2024-01-24  1:16     ` Dmitry Baryshkov
2024-01-24  1:16       ` Dmitry Baryshkov
2024-01-23 14:20 ` (subset) [PATCH v2 00/15] usb: typec: qcom-pmic-typec: enable support for PMI632 PMIC Vinod Koul
2024-01-23 14:20   ` Vinod Koul
2024-01-23 20:43 ` Luca Weiss
2024-01-23 20:43   ` Luca Weiss
2024-01-24  1:43   ` Dmitry Baryshkov
2024-01-24  1:43     ` Dmitry Baryshkov

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=12361952.O9o76ZdvQC@steina-w \
    --to=alexander.stein@ew.tq-group.com \
    --cc=andersson@kernel.org \
    --cc=broonie@kernel.org \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=kishon@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=p.zabel@pengutronix.de \
    --cc=quic_wcheng@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=vkoul@kernel.org \
    /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.