All of lore.kernel.org
 help / color / mirror / Atom feed
* [frank-w-bpi-r2-4.14:7.2-main 214/214] drivers/net/pcs/pcs-mtk-lynxi.c:454:1-6: WARNING: invalid free of devm_ allocated data
@ 2026-09-26  0:06 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-26  0:06 UTC (permalink / raw)
  To: Frank Wunderlich; +Cc: oe-kbuild-all

tree:   https://github.com/frank-w/BPI-R2-4.14 7.2-main
head:   27e8d41a42f73cb2b271df0e897e25224889f6d0
commit: 775a0c2a4a90ff1247809111cb88bb66c4ff8856 [214/214] net: pcs: pcs-mtk-lynxi: add platform driver for MT7988
config: sparc64-randconfig-r2104-20260925 (https://download.01.org/0day-ci/archive/20260926/202609260119.CE0oMb9X-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 15.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609260119.CE0oMb9X-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/net/pcs/pcs-mtk-lynxi.c:454:1-6: WARNING: invalid free of devm_ allocated data
--
>> drivers/net/pcs/pcs-mtk-lynxi.c:421:2-3: Unneeded semicolon

vim +454 drivers/net/pcs/pcs-mtk-lynxi.c

4765a9722e0976 Daniel Golle          2023-03-19  383  
775a0c2a4a90ff Daniel Golle          2023-12-12  384  static struct phylink_pcs *mtk_pcs_lynxi_init(struct device *dev,
bde1ae2d52ab35 Vladimir Oltean       2026-01-19  385  					      struct fwnode_handle *fwnode,
775a0c2a4a90ff Daniel Golle          2023-12-12  386  					      struct regmap *regmap, u32 ana_rgc3,
775a0c2a4a90ff Daniel Golle          2023-12-12  387  					      struct mtk_pcs_lynxi *prealloc)
4765a9722e0976 Daniel Golle          2023-03-19  388  {
4765a9722e0976 Daniel Golle          2023-03-19  389  	struct mtk_pcs_lynxi *mpcs;
4765a9722e0976 Daniel Golle          2023-03-19  390  	u32 id, ver;
4765a9722e0976 Daniel Golle          2023-03-19  391  	int ret;
4765a9722e0976 Daniel Golle          2023-03-19  392  
4765a9722e0976 Daniel Golle          2023-03-19  393  	ret = regmap_read(regmap, SGMSYS_PCS_DEVICE_ID, &id);
4765a9722e0976 Daniel Golle          2023-03-19  394  	if (ret < 0)
775a0c2a4a90ff Daniel Golle          2023-12-12  395  		return ERR_PTR(ret);
4765a9722e0976 Daniel Golle          2023-03-19  396  
4765a9722e0976 Daniel Golle          2023-03-19  397  	if (id != SGMII_LYNXI_DEV_ID) {
4765a9722e0976 Daniel Golle          2023-03-19  398  		dev_err(dev, "unknown PCS device id %08x\n", id);
775a0c2a4a90ff Daniel Golle          2023-12-12  399  		return ERR_PTR(-ENODEV);
4765a9722e0976 Daniel Golle          2023-03-19  400  	}
4765a9722e0976 Daniel Golle          2023-03-19  401  
4765a9722e0976 Daniel Golle          2023-03-19  402  	ret = regmap_read(regmap, SGMSYS_PCS_SCRATCH, &ver);
4765a9722e0976 Daniel Golle          2023-03-19  403  	if (ret < 0)
775a0c2a4a90ff Daniel Golle          2023-12-12  404  		return ERR_PTR(ret);
4765a9722e0976 Daniel Golle          2023-03-19  405  
4765a9722e0976 Daniel Golle          2023-03-19  406  	ver = FIELD_GET(SGMII_DEV_VERSION, ver);
4765a9722e0976 Daniel Golle          2023-03-19  407  	if (ver != 0x1) {
4765a9722e0976 Daniel Golle          2023-03-19  408  		dev_err(dev, "unknown PCS device version %04x\n", ver);
775a0c2a4a90ff Daniel Golle          2023-12-12  409  		return ERR_PTR(-ENODEV);
4765a9722e0976 Daniel Golle          2023-03-19  410  	}
4765a9722e0976 Daniel Golle          2023-03-19  411  
4765a9722e0976 Daniel Golle          2023-03-19  412  	dev_dbg(dev, "MediaTek LynxI SGMII PCS (id 0x%08x, ver 0x%04x)\n", id,
4765a9722e0976 Daniel Golle          2023-03-19  413  		ver);
4765a9722e0976 Daniel Golle          2023-03-19  414  
775a0c2a4a90ff Daniel Golle          2023-12-12  415  	if (prealloc) {
775a0c2a4a90ff Daniel Golle          2023-12-12  416  		mpcs = prealloc;
775a0c2a4a90ff Daniel Golle          2023-12-12  417  	} else {
775a0c2a4a90ff Daniel Golle          2023-12-12  418  		mpcs = kzalloc(sizeof(*mpcs), GFP_KERNEL);
4765a9722e0976 Daniel Golle          2023-03-19  419  		if (!mpcs)
775a0c2a4a90ff Daniel Golle          2023-12-12  420  			return ERR_PTR(-ENOMEM);
775a0c2a4a90ff Daniel Golle          2023-12-12 @421  	};
4765a9722e0976 Daniel Golle          2023-03-19  422  
4765a9722e0976 Daniel Golle          2023-03-19  423  	mpcs->ana_rgc3 = ana_rgc3;
4765a9722e0976 Daniel Golle          2023-03-19  424  	mpcs->regmap = regmap;
4765a9722e0976 Daniel Golle          2023-03-19  425  	mpcs->pcs.ops = &mtk_pcs_lynxi_ops;
4765a9722e0976 Daniel Golle          2023-03-19  426  	mpcs->pcs.poll = true;
4765a9722e0976 Daniel Golle          2023-03-19  427  	mpcs->interface = PHY_INTERFACE_MODE_NA;
bde1ae2d52ab35 Vladimir Oltean       2026-01-19  428  	mpcs->fwnode = fwnode_handle_get(fwnode);
4765a9722e0976 Daniel Golle          2023-03-19  429  
b87d4ee16bb4f6 Russell King (Oracle  2025-01-03  430) 	__set_bit(PHY_INTERFACE_MODE_SGMII, mpcs->pcs.supported_interfaces);
b87d4ee16bb4f6 Russell King (Oracle  2025-01-03  431) 	__set_bit(PHY_INTERFACE_MODE_1000BASEX, mpcs->pcs.supported_interfaces);
b87d4ee16bb4f6 Russell King (Oracle  2025-01-03  432) 	__set_bit(PHY_INTERFACE_MODE_2500BASEX, mpcs->pcs.supported_interfaces);
b87d4ee16bb4f6 Russell King (Oracle  2025-01-03  433) 
4765a9722e0976 Daniel Golle          2023-03-19  434  	return &mpcs->pcs;
775a0c2a4a90ff Daniel Golle          2023-12-12  435  };
775a0c2a4a90ff Daniel Golle          2023-12-12  436  
775a0c2a4a90ff Daniel Golle          2023-12-12  437  struct phylink_pcs *mtk_pcs_lynxi_create(struct device *dev,
775a0c2a4a90ff Daniel Golle          2023-12-12  438  					 struct fwnode_handle *fwnode,
775a0c2a4a90ff Daniel Golle          2023-12-12  439  					 struct regmap *regmap, u32 ana_rgc3)
775a0c2a4a90ff Daniel Golle          2023-12-12  440  {
775a0c2a4a90ff Daniel Golle          2023-12-12  441  	return mtk_pcs_lynxi_init(dev, fwnode, regmap, ana_rgc3, NULL);
4765a9722e0976 Daniel Golle          2023-03-19  442  }
4765a9722e0976 Daniel Golle          2023-03-19  443  EXPORT_SYMBOL(mtk_pcs_lynxi_create);
4765a9722e0976 Daniel Golle          2023-03-19  444  
4765a9722e0976 Daniel Golle          2023-03-19  445  void mtk_pcs_lynxi_destroy(struct phylink_pcs *pcs)
4765a9722e0976 Daniel Golle          2023-03-19  446  {
bde1ae2d52ab35 Vladimir Oltean       2026-01-19  447  	struct mtk_pcs_lynxi *mpcs;
bde1ae2d52ab35 Vladimir Oltean       2026-01-19  448  
4765a9722e0976 Daniel Golle          2023-03-19  449  	if (!pcs)
4765a9722e0976 Daniel Golle          2023-03-19  450  		return;
4765a9722e0976 Daniel Golle          2023-03-19  451  
bde1ae2d52ab35 Vladimir Oltean       2026-01-19  452  	mpcs = pcs_to_mtk_pcs_lynxi(pcs);
bde1ae2d52ab35 Vladimir Oltean       2026-01-19  453  	fwnode_handle_put(mpcs->fwnode);
bde1ae2d52ab35 Vladimir Oltean       2026-01-19 @454  	kfree(mpcs);
4765a9722e0976 Daniel Golle          2023-03-19  455  }
4765a9722e0976 Daniel Golle          2023-03-19  456  EXPORT_SYMBOL(mtk_pcs_lynxi_destroy);
4765a9722e0976 Daniel Golle          2023-03-19  457  

:::::: The code at line 454 was first introduced by commit
:::::: bde1ae2d52ab3599e1c7ca68a90af8407d20f91d net: pcs: pcs-mtk-lynxi: pass SGMIISYS OF node to PCS

:::::: TO: Vladimir Oltean <vladimir.oltean@nxp.com>
:::::: CC: Jakub Kicinski <kuba@kernel.org>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-26  0:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-26  0:06 [frank-w-bpi-r2-4.14:7.2-main 214/214] drivers/net/pcs/pcs-mtk-lynxi.c:454:1-6: WARNING: invalid free of devm_ allocated data kernel test robot

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.