Re: [PATCH V3] drm/bridge: ti-sn65dsi86: Add support for DisplayPort mode with HPD

From: Dan Carpenter
Date: Tue Sep 16 2025 - 01:46:45 EST


Hi John,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/UPDATE-20250911-023707/John-Ripple/drm-bridge-ti-sn65dsi86-break-probe-dependency-loop/20250820-235209
base: linus/master
patch link: https://lore.kernel.org/r/20250910183353.2045339-1-john.ripple%40keysight.com
patch subject: [PATCH V3] drm/bridge: ti-sn65dsi86: Add support for DisplayPort mode with HPD
config: x86_64-randconfig-161-20250916 (https://download.01.org/0day-ci/archive/20250916/202509161344.FPfsjq01-lkp@xxxxxxxxx/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.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@xxxxxxxxx>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202509161344.FPfsjq01-lkp@xxxxxxxxx/

smatch warnings:
drivers/gpu/drm/bridge/ti-sn65dsi86.c:1385 ti_sn_bridge_interrupt() error: uninitialized symbol 'status'.

vim +/status +1385 drivers/gpu/drm/bridge/ti-sn65dsi86.c

b8670cf7e6a41b John Ripple 2025-09-10 1365 static irqreturn_t ti_sn_bridge_interrupt(int irq, void *private)
b8670cf7e6a41b John Ripple 2025-09-10 1366 {
b8670cf7e6a41b John Ripple 2025-09-10 1367 struct ti_sn65dsi86 *pdata = private;
b8670cf7e6a41b John Ripple 2025-09-10 1368 struct drm_device *dev = pdata->bridge.dev;
b8670cf7e6a41b John Ripple 2025-09-10 1369 u8 status;
b8670cf7e6a41b John Ripple 2025-09-10 1370 int ret;
b8670cf7e6a41b John Ripple 2025-09-10 1371 bool hpd_event = false;
b8670cf7e6a41b John Ripple 2025-09-10 1372
b8670cf7e6a41b John Ripple 2025-09-10 1373 mutex_lock(&pdata->hpd_mutex);
b8670cf7e6a41b John Ripple 2025-09-10 1374 if (!pdata->hpd_enabled) {
b8670cf7e6a41b John Ripple 2025-09-10 1375 mutex_unlock(&pdata->hpd_mutex);
b8670cf7e6a41b John Ripple 2025-09-10 1376 return IRQ_HANDLED;
b8670cf7e6a41b John Ripple 2025-09-10 1377 }
b8670cf7e6a41b John Ripple 2025-09-10 1378
b8670cf7e6a41b John Ripple 2025-09-10 1379 ret = ti_sn65dsi86_read_u8(pdata, SN_IRQ_STATUS_REG, &status);
b8670cf7e6a41b John Ripple 2025-09-10 1380 if (ret)
b8670cf7e6a41b John Ripple 2025-09-10 1381 pr_err("Failed to read IRQ status: %d\n", ret);

status isn't initialized on error.

b8670cf7e6a41b John Ripple 2025-09-10 1382 else
b8670cf7e6a41b John Ripple 2025-09-10 1383 hpd_event = status & (HPD_REMOVAL_STATUS | HPD_INSERTION_STATUS);
b8670cf7e6a41b John Ripple 2025-09-10 1384
b8670cf7e6a41b John Ripple 2025-09-10 @1385 if (status) {
^^^^^^
warning

b8670cf7e6a41b John Ripple 2025-09-10 1386 drm_dbg(dev, "(SN_IRQ_STATUS_REG = %#x)\n", status);
b8670cf7e6a41b John Ripple 2025-09-10 1387 ret = regmap_write(pdata->regmap, SN_IRQ_STATUS_REG, status);
b8670cf7e6a41b John Ripple 2025-09-10 1388 if (ret)
b8670cf7e6a41b John Ripple 2025-09-10 1389 pr_err("Failed to clear IRQ status: %d\n", ret);
b8670cf7e6a41b John Ripple 2025-09-10 1390 } else {
b8670cf7e6a41b John Ripple 2025-09-10 1391 mutex_unlock(&pdata->hpd_mutex);
b8670cf7e6a41b John Ripple 2025-09-10 1392 return IRQ_NONE;
b8670cf7e6a41b John Ripple 2025-09-10 1393 }
b8670cf7e6a41b John Ripple 2025-09-10 1394
b8670cf7e6a41b John Ripple 2025-09-10 1395 /* Only send the HPD event if we are bound with a device. */
b8670cf7e6a41b John Ripple 2025-09-10 1396 if (dev && hpd_event)
b8670cf7e6a41b John Ripple 2025-09-10 1397 drm_kms_helper_hotplug_event(dev);
b8670cf7e6a41b John Ripple 2025-09-10 1398 mutex_unlock(&pdata->hpd_mutex);
b8670cf7e6a41b John Ripple 2025-09-10 1399
b8670cf7e6a41b John Ripple 2025-09-10 1400 return IRQ_HANDLED;
b8670cf7e6a41b John Ripple 2025-09-10 1401 }

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