Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp567192rwb; Tue, 29 Nov 2022 02:25:40 -0800 (PST) X-Google-Smtp-Source: AA0mqf6Qeo/x1exMa7OkWGeldclUZfeD/CHMk3EIWuf/jRKYZTKNuXBQYYChUO1gG9zDwYxHxuFh X-Received: by 2002:a05:6a00:d48:b0:574:dd68:360c with SMTP id n8-20020a056a000d4800b00574dd68360cmr17045773pfv.38.1669717539617; Tue, 29 Nov 2022 02:25:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669717539; cv=none; d=google.com; s=arc-20160816; b=kwh21sdzBUwrwANexmOjoy5Q4frT51SSol6+olnPSzEIogRpKdAJuHEOF8OU1VikdG X71Uli7R+3qMT073GzWYYhTv3LGAbQM6mYVxy98WZGbf9mHW/LwnNgFiooMmFQ+1a7EG QcjmsE9g3ft9K+1FHSgGo2WszwFheYS+ga4N1+s+RgBv/zalM+t2HyYZrzadcSOOP6TI KN6x7W8lVitNbmiBRcu5i85YjvMZMcu1uZ9pSEnUfP0eD9vm6ryN+h28LeroigvkGhq1 HOrnT+/IwLt+GMe1LwrhyD1pxBHXI5+Px4XoqRI3BBCZHupH7Pn4M30fX0DuZK4/F5Wc RFnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=bDQrqtJ7sChny4AIAQ/i/wqRjpiITF5Wvliqjx9aHTQ=; b=rP1MYS8o3Do30NV06F8YPCs1WiC3sO419bETjmaos9iTMYnjsZefa5Bf91nCBdI9Ve m/T7fVXDV+xNXGTE8bul/ciGJOHbLy/cg+DwMl009Kb5nyCbpskxmQOfjAZCNe3j81W1 CLBmYvEH8kji8u32sJOyfJDei40KiQDvfpeGpLn017MUrRN1rXphF7sHtLvUxYSaF9ni Rg0m9CA5GLEtZR1vUglBudtfyehLSCY2cC9PtD1lxqhsSaHstZiy+K5F2rrcefor0+j/ nyXh5FL0riA1LBVVHf69iBfqVCohieXT8PKMsResm6UsbjtbBEa7fr7AmCGVslhtMMmk WINg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=acBmnh2y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x7-20020a1709027c0700b00176c9015627si12929979pll.94.2022.11.29.02.25.29; Tue, 29 Nov 2022 02:25:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=acBmnh2y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229712AbiK2KRP (ORCPT + 84 others); Tue, 29 Nov 2022 05:17:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41518 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232487AbiK2KRI (ORCPT ); Tue, 29 Nov 2022 05:17:08 -0500 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E957A2E7; Tue, 29 Nov 2022 02:17:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1669717026; x=1701253026; h=from:to:cc:subject:date:message-id:mime-version; bh=ntIufUXdHMrv3LebSNeNQZucKKAEML05blpxTFqTPd0=; b=acBmnh2y+WExKsEGvFwPF7TNR0Smli4D5HsF6+3zasti0xdDltoC84iB dPD/nL1I3YzwAizb5Wiv2KQHT/NXlgtjL5Aeqq1ndgZSfEpDZPunaJx2h jBbJzK7VMH+mDzNd8xf+iVozBZKKabP2mx1BKiCZaBG8dt+usaYHpYQ9V DO3NYrTm/2GYRxgo0B2SYZw3vnl7sMTJQkEkEcLin9YmSFGPqgfMi9DSv vMMpPvqUalAePkmbuaGsa9gTE4gtQ9DqZFaQapOXEoZSsd5UTU3/duIDh QoOU1IZtrLPISo8uzWelVMIGsxyCALjH/ll9oSANfMSBpeeznlO8Vzp2t g==; X-IronPort-AV: E=Sophos;i="5.96,202,1665471600"; d="scan'208";a="185652937" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Nov 2022 03:17:05 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.87.72) by chn-vm-ex02.mchp-main.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Tue, 29 Nov 2022 03:17:02 -0700 Received: from training-HP-280-G1-MT-PC.microchip.com (10.10.115.15) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Tue, 29 Nov 2022 03:16:59 -0700 From: Divya Koppera To: , , , , , , , , , CC: , Subject: [PATCH v3 net-next] net: phy: micrel: Fix warn: passing zero to PTR_ERR Date: Tue, 29 Nov 2022 15:46:53 +0530 Message-ID: <20221129101653.6921-1-Divya.Koppera@microchip.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Handle the NULL pointer case Fixes New smatch warnings: drivers/net/phy/micrel.c:2613 lan8814_ptp_probe_once() warn: passing zero to 'PTR_ERR' Fixes Old smatch warnings: drivers/net/phy/micrel.c:1750 ksz886x_cable_test_get_status() error: uninitialized symbol 'ret'. vim +/PTR_ERR +2613 drivers/net/phy/micrel.c Reported-by: kernel test robot Reported-by: Dan Carpenter Fixes: ece19502834d ("net: phy: micrel: 1588 support for LAN8814 phy") Fixes: 21b688dabecb ("net: phy: micrel: Cable Diag feature for lan8814 phy") Signed-off-by: Divya Koppera --- v2 -> v3: - Changed subject line from net to net-next - Removed config check for ptp and clock configuration instead added null check for ptp_clock - Fixed one more warning related to initialisaton. v1 -> v2: - Handled NULL pointer case - Changed subject line with net-next to net --- drivers/net/phy/micrel.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 26ce0c5defcd..3703e2fafbd4 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -2088,7 +2088,8 @@ static int ksz886x_cable_test_get_status(struct phy_device *phydev, const struct kszphy_type *type = phydev->drv->driver_data; unsigned long pair_mask = type->pair_mask; int retries = 20; - int pair, ret; + int ret = 0; + int pair; *finished = false; @@ -2970,12 +2971,13 @@ static int lan8814_config_intr(struct phy_device *phydev) static void lan8814_ptp_init(struct phy_device *phydev) { + struct lan8814_shared_priv *shared_priv = phydev->shared->priv; struct kszphy_priv *priv = phydev->priv; struct kszphy_ptp_priv *ptp_priv = &priv->ptp_priv; u32 temp; - if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK) || - !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING)) + /* Check if PHC support is missing at the configuration level */ + if (!shared_priv->ptp_clock) return; lanphy_write_page_reg(phydev, 5, TSU_HARD_RESET, TSU_HARD_RESET_); @@ -3016,10 +3018,6 @@ static int lan8814_ptp_probe_once(struct phy_device *phydev) { struct lan8814_shared_priv *shared = phydev->shared->priv; - if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK) || - !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING)) - return 0; - /* Initialise shared lock for clock*/ mutex_init(&shared->shared_lock); @@ -3039,12 +3037,16 @@ static int lan8814_ptp_probe_once(struct phy_device *phydev) shared->ptp_clock = ptp_clock_register(&shared->ptp_clock_info, &phydev->mdio.dev); - if (IS_ERR_OR_NULL(shared->ptp_clock)) { + if (IS_ERR(shared->ptp_clock)) { phydev_err(phydev, "ptp_clock_register failed %lu\n", PTR_ERR(shared->ptp_clock)); return -EINVAL; } + /* Check if PHC support is missing at the configuration level */ + if (!shared->ptp_clock) + return 0; + phydev_dbg(phydev, "successfully registered ptp clock\n"); shared->phydev = phydev; -- 2.17.1