drivers/hid/hid-msi.c:1274 claw_rgb_queue_fn() warn: can 'drvdata' even be NULL?

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: "Derek J. Clark" <[email protected]>
CC: Jiri Kosina <[email protected]>
CC: Zhouwang Huang <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   818bebeb63dd6bf5f4e07e145f6cdbace520a34c
commit: f27e2e3c80edb2ff09c3bb3ee1605c86c64fcaa8 HID: hid-msi: Add RGB control interface
date:   3 weeks ago
:::::: branch date: 13 hours ago
:::::: commit date: 3 weeks ago
config: csky-randconfig-r073-20260821 (https://download.01.org/0day-ci/archive/20260821/[email protected]/config)
compiler: csky-linux-gcc (GCC) 15.2.0
smatch: v0.5.0-9187-g5189e3fb

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
| Fixes: f27e2e3c80ed ("HID: hid-msi: Add RGB control interface")
| Reported-by: kernel test robot <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

smatch warnings:
drivers/hid/hid-msi.c:1274 claw_rgb_queue_fn() warn: can 'drvdata' even be NULL?

vim +/drvdata +1274 drivers/hid/hid-msi.c

f27e2e3c80edb2f Derek J. Clark 2026-07-20  1267  
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1268  static void claw_rgb_queue_fn(struct work_struct *work)
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1269  {
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1270  	struct delayed_work *dwork = container_of(work, struct delayed_work, work);
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1271  	struct claw_drvdata *drvdata = container_of(dwork, struct claw_drvdata, rgb_queue);
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1272  	int ret;
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1273  
f27e2e3c80edb2f Derek J. Clark 2026-07-20 @1274  	if (!drvdata)
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1275  		return;
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1276  
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1277  	scoped_guard(spinlock_irqsave, &drvdata->registration_lock) {
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1278  		/* Pairs with smp_store_release from cfg_setup_fn in system_wq context */
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1279  		if (!smp_load_acquire(&drvdata->rgb_registered))
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1280  			return;
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1281  	}
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1282  
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1283  	ret = claw_apply_rgb_state(drvdata);
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1284  	if (ret)
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1285  		dev_err(&drvdata->hdev->dev, "Failed to apply RGB state: %d\n", ret);
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1286  }
f27e2e3c80edb2f Derek J. Clark 2026-07-20  1287  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.