Hello Hariprasad Kelam, Commit d280233fc866 ("Octeontx2-af: Fix NIX X2P calibration failures") from Aug 22, 2025 (linux-next), leads to the following Smatch static checker warning: drivers/net/ethernet/marvell/octeontx2/af/cgx.c:1985 cgx_probe() warn: missing error code 'err' drivers/net/ethernet/marvell/octeontx2/af/cgx.c 1933 static int cgx_probe(struct pci_dev *pdev, const struct pci_device_id *id) 1934 { 1935 struct device *dev = &pdev->dev; 1936 struct cgx *cgx; 1937 int err, nvec; 1938 1939 cgx = devm_kzalloc(dev, sizeof(*cgx), GFP_KERNEL); 1940 if (!cgx) 1941 return -ENOMEM; 1942 cgx->pdev = pdev; 1943 1944 pci_set_drvdata(pdev, cgx); 1945 1946 /* Use mac_ops to get MAC specific features */ 1947 if (is_dev_rpm(cgx)) 1948 cgx->mac_ops = rpm_get_mac_ops(cgx); 1949 else 1950 cgx->mac_ops = &cgx_mac_ops; 1951 1952 cgx->mac_ops->rxid_map_offset = cgx_get_rxid_mapoffset(cgx); 1953 1954 err = pci_enable_device(pdev); 1955 if (err) { 1956 dev_err(dev, "Failed to enable PCI device\n"); 1957 pci_set_drvdata(pdev, NULL); 1958 return err; 1959 } 1960 1961 err = pci_request_regions(pdev, DRV_NAME); 1962 if (err) { 1963 dev_err(dev, "PCI request regions failed 0x%x\n", err); 1964 goto err_disable_device; 1965 } 1966 1967 err = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(48)); 1968 if (err) { 1969 dev_err(dev, "DMA mask config failed, abort\n"); 1970 goto err_release_regions; 1971 } 1972 1973 /* MAP configuration registers */ 1974 cgx->reg_base = pcim_iomap(pdev, PCI_CFG_REG_BAR_NUM, 0); 1975 if (!cgx->reg_base) { 1976 dev_err(dev, "CGX: Cannot map CSR memory space, aborting\n"); 1977 err = -ENOMEM; 1978 goto err_release_regions; 1979 } 1980 1981 if (!is_cn20k(pdev) && 1982 !is_cgx_mapped_to_nix(pdev->subsystem_device, cgx->cgx_id)) { 1983 dev_notice(dev, "CGX %d not mapped to NIX, skipping probe\n", 1984 cgx->cgx_id); --> 1985 goto err_release_regions; error code? 1986 } 1987 1988 cgx->lmac_count = cgx->mac_ops->get_nr_lmacs(cgx); 1989 if (!cgx->lmac_count) { 1990 dev_notice(dev, "CGX %d LMAC count is zero, skipping probe\n", cgx->cgx_id); 1991 err = -EOPNOTSUPP; 1992 goto err_release_regions; 1993 } 1994 1995 nvec = pci_msix_vec_count(cgx->pdev); 1996 err = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_MSIX); 1997 if (err < 0 || err != nvec) { 1998 dev_err(dev, "Request for %d msix vectors failed, err %d\n", 1999 nvec, err); 2000 goto err_release_regions; 2001 } 2002 2003 cgx->cgx_id = (pci_resource_start(pdev, PCI_CFG_REG_BAR_NUM) >> 24) 2004 & CGX_ID_MASK; 2005 2006 /* init wq for processing linkup requests */ 2007 INIT_WORK(&cgx->cgx_cmd_work, cgx_lmac_linkup_work); 2008 cgx->cgx_cmd_workq = alloc_workqueue("cgx_cmd_workq", 0, 0); 2009 if (!cgx->cgx_cmd_workq) { 2010 dev_err(dev, "alloc workqueue failed for cgx cmd"); 2011 err = -ENOMEM; 2012 goto err_free_irq_vectors; 2013 } 2014 2015 list_add(&cgx->cgx_list, &cgx_list); 2016 2017 2018 cgx_populate_features(cgx); 2019 2020 mutex_init(&cgx->lock); 2021 2022 err = cgx_lmac_init(cgx); 2023 if (err) 2024 goto err_release_lmac; 2025 2026 return 0; 2027 2028 err_release_lmac: 2029 cgx_lmac_exit(cgx); 2030 list_del(&cgx->cgx_list); 2031 err_free_irq_vectors: 2032 pci_free_irq_vectors(pdev); 2033 err_release_regions: 2034 pci_release_regions(pdev); 2035 err_disable_device: 2036 pci_disable_device(pdev); 2037 pci_set_drvdata(pdev, NULL); 2038 return err; 2039 } regards, dan carpenter