* [frank-w-bpi-r2-4.14:pr/187 1/1] drivers/net/dsa/mxl862xx/mxl862xx.c:4518:18: sparse: sparse: unsigned value that used to be signed checked against zero?
@ 2026-07-02 9:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-02 9:07 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp
::::::
:::::: Manual check reason: "low confidence static check warning: drivers/net/dsa/mxl862xx/mxl862xx.c:4518:18: sparse: sparse: unsigned value that used to be signed checked against zero?"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Frank Wunderlich <frank-w@public-files.de>
tree: https://github.com/frank-w/BPI-R2-4.14 pr/187
head: 3591b14936035fc6eaa4ffb659d63289367e34d4
commit: 577f2ee0515d84bb0aa78dbe0d3b3b1fe4d2658d [1/1] net: dsa: mxl862xx: add ds-mux (WIP)
:::::: branch date: 4 days ago
:::::: commit date: 5 days ago
config: sparc64-randconfig-r121-20260702 (https://download.01.org/0day-ci/archive/20260702/202607021748.WP492e0Y-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260702/202607021748.WP492e0Y-lkp@intel.com/reproduce)
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/r/202607021748.WP492e0Y-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/net/dsa/mxl862xx/mxl862xx.c:4518:18: sparse: sparse: unsigned value that used to be signed checked against zero?
drivers/net/dsa/mxl862xx/mxl862xx.c: note: in included file (through include/linux/byteorder/big_endian.h, arch/sparc/include/uapi/asm/byteorder.h, include/linux/bitfield.h):
include/uapi/linux/byteorder/big_endian.h:83:32: sparse: signed value source
vim +4518 drivers/net/dsa/mxl862xx/mxl862xx.c
577f2ee0515d84 Frank Wunderlich 2025-10-21 4503
577f2ee0515d84 Frank Wunderlich 2025-10-21 4504 static int ds_add_mux(struct mxl862xx_priv *priv, struct device_node *np)
577f2ee0515d84 Frank Wunderlich 2025-10-21 4505 {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4506 const __be32 *_id = of_get_property(np, "reg", NULL);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4507 struct device_node *child;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4508 struct combo_port_mux *mux;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4509 unsigned int id;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4510 int err;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4511
577f2ee0515d84 Frank Wunderlich 2025-10-21 4512 if (!_id) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4513 dev_err(priv->ds->dev, "missing attach dp id\n");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4514 return -EINVAL;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4515 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4516
577f2ee0515d84 Frank Wunderlich 2025-10-21 4517 id = be32_to_cpup(_id);
577f2ee0515d84 Frank Wunderlich 2025-10-21 @4518 if (id < 0 || id >= MXL862XX_MAX_PORTS) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4519 dev_err(priv->ds->dev, "%d is not a valid attach dp id\n", id);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4520 return -EINVAL;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4521 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4522
577f2ee0515d84 Frank Wunderlich 2025-10-21 4523 mux = kmalloc(sizeof(struct combo_port_mux), GFP_KERNEL);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4524 if (unlikely(!mux)) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4525 dev_err(priv->ds->dev, "failed to create mux structure\n");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4526 return -ENOMEM;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4527 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4528
577f2ee0515d84 Frank Wunderlich 2025-10-21 4529 mux->mod_def0_gpio = fwnode_gpiod_get_index(of_fwnode_handle(np),
577f2ee0515d84 Frank Wunderlich 2025-10-21 4530 "mod-def0", 0, GPIOD_IN |
577f2ee0515d84 Frank Wunderlich 2025-10-21 4531 GPIOD_FLAGS_BIT_NONEXCLUSIVE, "?");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4532
577f2ee0515d84 Frank Wunderlich 2025-10-21 4533 if (IS_ERR(mux->mod_def0_gpio)) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4534 dev_err(priv->ds->dev, "failed to requset gpio for mod-def0\n");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4535 err = PTR_ERR(mux->mod_def0_gpio);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4536 goto err_free_mux;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4537 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4538
577f2ee0515d84 Frank Wunderlich 2025-10-21 4539 mux->chan_sel_gpio = fwnode_gpiod_get_index(of_fwnode_handle(np),
577f2ee0515d84 Frank Wunderlich 2025-10-21 4540 "chan-sel", 0, GPIOD_OUT_LOW, "?");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4541
577f2ee0515d84 Frank Wunderlich 2025-10-21 4542 if (IS_ERR(mux->chan_sel_gpio)) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4543 dev_err(priv->ds->dev, "failed to requset gpio for chan-sel\n");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4544 err = PTR_ERR(mux->chan_sel_gpio);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4545 goto err_put_mod_def0;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4546 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4547
577f2ee0515d84 Frank Wunderlich 2025-10-21 4548 of_property_read_u32(np, "sfp-present-channel",
577f2ee0515d84 Frank Wunderlich 2025-10-21 4549 &mux->sfp_present_channel);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4550
577f2ee0515d84 Frank Wunderlich 2025-10-21 4551 priv->ds_mux[id] = mux;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4552 mux->dp = dsa_to_port(priv->ds, id);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4553 /* configure default channel to 10G PHY */
577f2ee0515d84 Frank Wunderlich 2025-10-21 4554 mux->channel = !mux->sfp_present_channel;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4555 mux->initialized = false;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4556
577f2ee0515d84 Frank Wunderlich 2025-10-21 4557 for_each_child_of_node(np, child) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4558 err = ds_add_mux_channel(mux, child);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4559 if (err) {
577f2ee0515d84 Frank Wunderlich 2025-10-21 4560 dev_err(priv->ds->dev, "failed to add ds_mux\n");
577f2ee0515d84 Frank Wunderlich 2025-10-21 4561 of_node_put(child);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4562 goto err_put_chan_sel;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4563 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4564 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4565
577f2ee0515d84 Frank Wunderlich 2025-10-21 4566 INIT_DELAYED_WORK(&mux->sfp_monitor_work, sfp_monitor_work_func);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4567 mod_delayed_work(system_wq, &mux->sfp_monitor_work, msecs_to_jiffies(3000));
577f2ee0515d84 Frank Wunderlich 2025-10-21 4568
577f2ee0515d84 Frank Wunderlich 2025-10-21 4569 return 0;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4570
577f2ee0515d84 Frank Wunderlich 2025-10-21 4571 err_put_chan_sel:
577f2ee0515d84 Frank Wunderlich 2025-10-21 4572 gpiod_put(mux->chan_sel_gpio);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4573 err_put_mod_def0:
577f2ee0515d84 Frank Wunderlich 2025-10-21 4574 gpiod_put(mux->mod_def0_gpio);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4575 err_free_mux:
577f2ee0515d84 Frank Wunderlich 2025-10-21 4576 kfree(mux);
577f2ee0515d84 Frank Wunderlich 2025-10-21 4577 priv->ds_mux[id] = NULL;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4578 return err;
577f2ee0515d84 Frank Wunderlich 2025-10-21 4579 }
577f2ee0515d84 Frank Wunderlich 2025-10-21 4580
--
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-07-02 9:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-02 9:07 [frank-w-bpi-r2-4.14:pr/187 1/1] drivers/net/dsa/mxl862xx/mxl862xx.c:4518:18: sparse: sparse: unsigned value that used to be signed checked against zero? kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox