From 03455e79d7a4a0da5399618851168dfadebf416e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Petr=20=C5=A0tetiar?= Date: Mon, 29 May 2023 19:27:15 +0200 Subject: [PATCH] qca-nss-dp: fix oops in nss_dp_probe MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Currently kernel crashes when of_phy_connect has issues: Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000308 ... pc : phy_attached_print+0x28/0x1b0 lr : phy_attached_info+0x14/0x20 ... Call trace: phy_attached_print+0x28/0x1b0 phy_attached_info+0x14/0x20 nss_dp_adjust_link+0x544/0x6c4 [qca_nss_dp] of_phy_connect returns either pointer or NULL, so can't be checked with IS_ERR macro. Signed-off-by: Petr Å tetiar (cherry picked from commit 38c7cf0e69aeefdec44d513307732e4daf7d9794) --- ...ss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package/kernel/qca-nss-dp/patches/0013-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch b/package/kernel/qca-nss-dp/patches/0013-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch index ba9b8ef262..276c87adfc 100644 --- a/package/kernel/qca-nss-dp/patches/0013-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch +++ b/package/kernel/qca-nss-dp/patches/0013-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch @@ -155,11 +155,12 @@ Signed-off-by: Alexandru Gagniuc - dp_priv->phydev = phy_connect(netdev, phy_id, - &nss_dp_adjust_link, - dp_priv->phy_mii_type); +- if (IS_ERR(dp_priv->phydev)) { +- netdev_dbg(netdev, "failed to connect to phy device\n"); + dp_priv->phydev = of_phy_connect(netdev, dp_priv->phy_node, + &nss_dp_adjust_link, 0, + dp_priv->phy_mii_type); - if (IS_ERR(dp_priv->phydev)) { -- netdev_dbg(netdev, "failed to connect to phy device\n"); ++ if (!(dp_priv->phydev)) { + dev_err(&pdev->dev, "Could not attach to PHY\n"); goto phy_setup_fail; } -- 2.30.2