public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Jagan Teki <jagan@amarulasolutions.com>
Cc: "Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Marek Vasut" <marex@denx.de>,
	"Samuel Holland" <samuel@sholland.org>,
	"Icenowy Zheng" <uwu@icenowy.me>,
	"Sam Edwards" <cfsworks@gmail.com>, 路辉 <luhux76@gmail.com>,
	u-boot@lists.denx.de, linux-sunxi@lists.linux.dev
Subject: [PATCH v2 1/7] phy: sun4i-usb: Fix of_xlate() argument check
Date: Mon, 12 Jun 2023 00:32:35 +0100	[thread overview]
Message-ID: <20230611233241.14235-2-andre.przywara@arm.com> (raw)
In-Reply-To: <20230611233241.14235-1-andre.przywara@arm.com>

In its of_xlate() function, the Allwinner USB PHY driver compares the
args_count variable against the number of implemented USB PHYs, although
this is the *number of arguments* to the DT phandle property. Per the DT
binding for this PHY device, this number is always one, so this check
will always fail if the particular SoC implements exactly one USB PHY.
So far this affected only the V3s (which has USB support disabled), but
the F1C100s also sports one PHY only.

Fix that check to compare args_count against exactly 1, and the args[0]
content (requested PHY number) against the number of implemented PHYs.

This fixes USB operation on the Allwinner V3s and allows to enable USB
on the Allwinner F1C100s SoC.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
---
 drivers/phy/allwinner/phy-sun4i-usb.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
index 6428163c188..dbea70f9a5e 100644
--- a/drivers/phy/allwinner/phy-sun4i-usb.c
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
@@ -372,7 +372,10 @@ static int sun4i_usb_phy_xlate(struct phy *phy,
 {
 	struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev);
 
-	if (args->args_count >= data->cfg->num_phys)
+	if (args->args_count != 1)
+		return -EINVAL;
+
+	if (args->args[0] >= data->cfg->num_phys)
 		return -EINVAL;
 
 	if (data->cfg->missing_phys & BIT(args->args[0]))
-- 
2.35.8


  reply	other threads:[~2023-06-11 23:33 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-11 23:32 [PATCH v2 0/7] phy: sun4i: Allwinner F1C100s/H616 support and cleanup Andre Przywara
2023-06-11 23:32 ` Andre Przywara [this message]
2023-06-11 23:32 ` [PATCH v2 2/7] phy: sun4i-usb: add Allwinner F1C100s support Andre Przywara
2023-06-11 23:32 ` [PATCH v2 3/7] sunxi: Kconfig: rework PHY_USB_SUN4I selection Andre Przywara
2023-06-19  3:15   ` Sam Edwards
2023-06-19 10:14     ` Andre Przywara
2023-06-11 23:32 ` [PATCH v2 4/7] phy: sun4i-usb: Replace types with explicit quirk flags Andre Przywara
2023-06-12 18:13   ` Jernej Škrabec
2023-06-11 23:32 ` [PATCH v2 5/7] phy: sun4i-usb: Add H616 USB PHY quirk support Andre Przywara
2023-06-12 18:14   ` Jernej Škrabec
2023-06-11 23:32 ` [PATCH v2 6/7] phy: sun4i: Add H616 USB PHY support Andre Przywara
2023-06-12 18:15   ` Jernej Škrabec
2023-06-11 23:32 ` [PATCH v2 7/7] sunxi: H616: enable USB support for H616 boards Andre Przywara
2023-06-12 18:15   ` Jernej Škrabec

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=20230611233241.14235-2-andre.przywara@arm.com \
    --to=andre.przywara@arm.com \
    --cc=cfsworks@gmail.com \
    --cc=jagan@amarulasolutions.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=luhux76@gmail.com \
    --cc=marex@denx.de \
    --cc=samuel@sholland.org \
    --cc=u-boot@lists.denx.de \
    --cc=uwu@icenowy.me \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox