Re: [PATCH] drm/i915/display: fix error handling in intel_display_driver_probe_noirq

From: kernel test robot

Date: Tue Aug 04 2026 - 10:00:29 EST


Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-i915/for-linux-next]
[also build test WARNING on drm-i915/for-linux-next-fixes linus/master v7.2-rc6 next-20260803]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/yaolu-kylinos-cn/drm-i915-display-fix-error-handling-in-intel_display_driver_probe_noirq/20260804-144429
base: https://gitlab.freedesktop.org/drm/i915/kernel.git for-linux-next
patch link: https://lore.kernel.org/r/20260630031652.67747-1-yaolu%40kylinos.cn
patch subject: [PATCH] drm/i915/display: fix error handling in intel_display_driver_probe_noirq
config: parisc-allmodconfig (https://download.01.org/0day-ci/archive/20260804/202608042133.a0zParAB-lkp@xxxxxxxxx/config)
compiler: hppa-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260804/202608042133.a0zParAB-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608042133.a0zParAB-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/gpu/drm/i915/display/intel_display_driver.c: In function 'intel_display_driver_probe_noirq':
>> drivers/gpu/drm/i915/display/intel_display_driver.c:309:1: warning: label 'cleanup_wq_unordered' defined but not used [-Wunused-label]
309 | cleanup_wq_unordered:
| ^~~~~~~~~~~~~~~~~~~~


vim +/cleanup_wq_unordered +309 drivers/gpu/drm/i915/display/intel_display_driver.c

62bb6b4920ce9d Jani Nikula 2023-04-14 201
40053823baadce Jani Nikula 2023-04-14 202 /* part #1: call before irq install */
f5d38d4fa88441 Jani Nikula 2024-12-04 203 int intel_display_driver_probe_noirq(struct intel_display *display)
40053823baadce Jani Nikula 2023-04-14 204 {
40053823baadce Jani Nikula 2023-04-14 205 int ret;
40053823baadce Jani Nikula 2023-04-14 206
ff8c73b7bfb547 Jani Nikula 2026-06-15 207 intel_opregion_setup(display);
ff8c73b7bfb547 Jani Nikula 2026-06-15 208
ff8c73b7bfb547 Jani Nikula 2026-06-15 209 /*
ff8c73b7bfb547 Jani Nikula 2026-06-15 210 * Fill the dram structure to get the system dram info. This will be
ff8c73b7bfb547 Jani Nikula 2026-06-15 211 * used for memory latency calculation.
ff8c73b7bfb547 Jani Nikula 2026-06-15 212 */
ff8c73b7bfb547 Jani Nikula 2026-06-15 213 ret = intel_dram_detect(display);
ff8c73b7bfb547 Jani Nikula 2026-06-15 214 if (ret)
ff8c73b7bfb547 Jani Nikula 2026-06-15 215 goto cleanup_opregion;
ff8c73b7bfb547 Jani Nikula 2026-06-15 216
ff8c73b7bfb547 Jani Nikula 2026-06-15 217 intel_bw_init_hw(display);
ff8c73b7bfb547 Jani Nikula 2026-06-15 218
f5d38d4fa88441 Jani Nikula 2024-12-04 219 if (HAS_DISPLAY(display)) {
f5d38d4fa88441 Jani Nikula 2024-12-04 220 ret = drm_vblank_init(display->drm,
f5d38d4fa88441 Jani Nikula 2024-12-04 221 INTEL_NUM_PIPES(display));
40053823baadce Jani Nikula 2023-04-14 222 if (ret)
ff8c73b7bfb547 Jani Nikula 2026-06-15 223 goto cleanup_opregion;
40053823baadce Jani Nikula 2023-04-14 224 }
40053823baadce Jani Nikula 2023-04-14 225
9aec6f76a28cd6 Jani Nikula 2024-08-09 226 intel_bios_init(display);
40053823baadce Jani Nikula 2023-04-14 227
39e4d3c2f89ab8 Jouni Högander 2025-04-14 228 intel_psr_dc5_dc6_wa_init(display);
39e4d3c2f89ab8 Jouni Högander 2025-04-14 229
40053823baadce Jani Nikula 2023-04-14 230 /* FIXME: completely on the wrong abstraction layer */
ad5190d6f35db6 Jani Nikula 2026-05-26 231 ret = intel_display_power_init(display);
40053823baadce Jani Nikula 2023-04-14 232 if (ret < 0)
70ea362b84449b Ville Syrjälä 2025-12-08 233 goto cleanup_bios;
40053823baadce Jani Nikula 2023-04-14 234
445fc685498bbb Jani Nikula 2024-12-31 235 intel_pmdemand_init_early(display);
4c4cc7ac207f56 Mika Kahola 2023-06-06 236
771394b4fb6d7d Jani Nikula 2026-05-26 237 intel_display_power_init_hw(display);
40053823baadce Jani Nikula 2023-04-14 238
f5d38d4fa88441 Jani Nikula 2024-12-04 239 if (!HAS_DISPLAY(display))
40053823baadce Jani Nikula 2023-04-14 240 return 0;
40053823baadce Jani Nikula 2023-04-14 241
41837232b83874 Lu Yao 2026-06-30 242 intel_dmc_init(display);
41837232b83874 Lu Yao 2026-06-30 243
ed23224b3f5e5e Jani Nikula 2025-05-16 244 display->hotplug.dp_wq = alloc_ordered_workqueue("intel-dp", 0);
ed23224b3f5e5e Jani Nikula 2025-05-16 245 if (!display->hotplug.dp_wq) {
ed23224b3f5e5e Jani Nikula 2025-05-16 246 ret = -ENOMEM;
70ea362b84449b Ville Syrjälä 2025-12-08 247 goto cleanup_pw_domain_dmc;
ed23224b3f5e5e Jani Nikula 2025-05-16 248 }
ed23224b3f5e5e Jani Nikula 2025-05-16 249
f5d38d4fa88441 Jani Nikula 2024-12-04 250 display->wq.modeset = alloc_ordered_workqueue("i915_modeset", 0);
dcab7a228f4ea9 Haoxiang Li 2025-05-16 251 if (!display->wq.modeset) {
dcab7a228f4ea9 Haoxiang Li 2025-05-16 252 ret = -ENOMEM;
ed23224b3f5e5e Jani Nikula 2025-05-16 253 goto cleanup_wq_dp;
dcab7a228f4ea9 Haoxiang Li 2025-05-16 254 }
dcab7a228f4ea9 Haoxiang Li 2025-05-16 255
f5d38d4fa88441 Jani Nikula 2024-12-04 256 display->wq.flip = alloc_workqueue("i915_flip", WQ_HIGHPRI |
40053823baadce Jani Nikula 2023-04-14 257 WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
dcab7a228f4ea9 Haoxiang Li 2025-05-16 258 if (!display->wq.flip) {
dcab7a228f4ea9 Haoxiang Li 2025-05-16 259 ret = -ENOMEM;
dcab7a228f4ea9 Haoxiang Li 2025-05-16 260 goto cleanup_wq_modeset;
dcab7a228f4ea9 Haoxiang Li 2025-05-16 261 }
dcab7a228f4ea9 Haoxiang Li 2025-05-16 262
c15d0056fb74d6 Marco Crivellari 2025-11-04 263 display->wq.cleanup = alloc_workqueue("i915_cleanup", WQ_HIGHPRI | WQ_PERCPU, 0);
dcab7a228f4ea9 Haoxiang Li 2025-05-16 264 if (!display->wq.cleanup) {
dcab7a228f4ea9 Haoxiang Li 2025-05-16 265 ret = -ENOMEM;
dcab7a228f4ea9 Haoxiang Li 2025-05-16 266 goto cleanup_wq_flip;
dcab7a228f4ea9 Haoxiang Li 2025-05-16 267 }
40053823baadce Jani Nikula 2023-04-14 268
c15d0056fb74d6 Marco Crivellari 2025-11-04 269 display->wq.unordered = alloc_workqueue("display_unordered", WQ_PERCPU, 0);
7c377900772d8f Luca Coelho 2025-06-20 270 if (!display->wq.unordered) {
7c377900772d8f Luca Coelho 2025-06-20 271 ret = -ENOMEM;
7c377900772d8f Luca Coelho 2025-06-20 272 goto cleanup_wq_cleanup;
7c377900772d8f Luca Coelho 2025-06-20 273 }
7c377900772d8f Luca Coelho 2025-06-20 274
f5d38d4fa88441 Jani Nikula 2024-12-04 275 intel_mode_config_init(display);
40053823baadce Jani Nikula 2023-04-14 276
d34927acff9150 Ville Syrjälä 2024-09-06 277 ret = intel_cdclk_init(display);
40053823baadce Jani Nikula 2023-04-14 278 if (ret)
41837232b83874 Lu Yao 2026-06-30 279 goto cleanup_mode_config;
40053823baadce Jani Nikula 2023-04-14 280
9d476ce24f72fc Ville Syrjälä 2024-10-24 281 ret = intel_color_init(display);
40053823baadce Jani Nikula 2023-04-14 282 if (ret)
41837232b83874 Lu Yao 2026-06-30 283 goto cleanup_mode_config;
40053823baadce Jani Nikula 2023-04-14 284
6fe8f9c1388b53 Jani Nikula 2025-04-08 285 ret = intel_dbuf_init(display);
40053823baadce Jani Nikula 2023-04-14 286 if (ret)
41837232b83874 Lu Yao 2026-06-30 287 goto cleanup_mode_config;
40053823baadce Jani Nikula 2023-04-14 288
ac930bab1c8985 Ville Syrjälä 2025-10-13 289 ret = intel_dbuf_bw_init(display);
ac930bab1c8985 Ville Syrjälä 2025-10-13 290 if (ret)
41837232b83874 Lu Yao 2026-06-30 291 goto cleanup_mode_config;
ac930bab1c8985 Ville Syrjälä 2025-10-13 292
d706998b6da687 Gustavo Sousa 2025-03-11 293 ret = intel_bw_init(display);
40053823baadce Jani Nikula 2023-04-14 294 if (ret)
41837232b83874 Lu Yao 2026-06-30 295 goto cleanup_mode_config;
40053823baadce Jani Nikula 2023-04-14 296
445fc685498bbb Jani Nikula 2024-12-31 297 ret = intel_pmdemand_init(display);
4c4cc7ac207f56 Mika Kahola 2023-06-06 298 if (ret)
41837232b83874 Lu Yao 2026-06-30 299 goto cleanup_mode_config;
4c4cc7ac207f56 Mika Kahola 2023-06-06 300
409c23ae6735cf Jani Nikula 2024-04-17 301 intel_init_quirks(display);
40053823baadce Jani Nikula 2023-04-14 302
fd5a9b950ea8ba Ville Syrjälä 2024-07-05 303 intel_fbc_init(display);
40053823baadce Jani Nikula 2023-04-14 304
40053823baadce Jani Nikula 2023-04-14 305 return 0;
40053823baadce Jani Nikula 2023-04-14 306
41837232b83874 Lu Yao 2026-06-30 307 cleanup_mode_config:
41837232b83874 Lu Yao 2026-06-30 308 intel_mode_config_cleanup(display);
7c377900772d8f Luca Coelho 2025-06-20 @309 cleanup_wq_unordered:
7c377900772d8f Luca Coelho 2025-06-20 310 destroy_workqueue(display->wq.unordered);
dcab7a228f4ea9 Haoxiang Li 2025-05-16 311 cleanup_wq_cleanup:
dcab7a228f4ea9 Haoxiang Li 2025-05-16 312 destroy_workqueue(display->wq.cleanup);
dcab7a228f4ea9 Haoxiang Li 2025-05-16 313 cleanup_wq_flip:
dcab7a228f4ea9 Haoxiang Li 2025-05-16 314 destroy_workqueue(display->wq.flip);
dcab7a228f4ea9 Haoxiang Li 2025-05-16 315 cleanup_wq_modeset:
dcab7a228f4ea9 Haoxiang Li 2025-05-16 316 destroy_workqueue(display->wq.modeset);
ed23224b3f5e5e Jani Nikula 2025-05-16 317 cleanup_wq_dp:
ed23224b3f5e5e Jani Nikula 2025-05-16 318 destroy_workqueue(display->hotplug.dp_wq);
70ea362b84449b Ville Syrjälä 2025-12-08 319 cleanup_pw_domain_dmc:
5c30cfa295ccbf Ville Syrjälä 2024-09-06 320 intel_dmc_fini(display);
ad5190d6f35db6 Jani Nikula 2026-05-26 321 intel_display_power_driver_remove(display);
40053823baadce Jani Nikula 2023-04-14 322 cleanup_bios:
9aec6f76a28cd6 Jani Nikula 2024-08-09 323 intel_bios_driver_remove(display);
ff8c73b7bfb547 Jani Nikula 2026-06-15 324 cleanup_opregion:
ff8c73b7bfb547 Jani Nikula 2026-06-15 325 intel_opregion_cleanup(display);
40053823baadce Jani Nikula 2023-04-14 326
40053823baadce Jani Nikula 2023-04-14 327 return ret;
40053823baadce Jani Nikula 2023-04-14 328 }
5e2e6b595d9d4c Juha-Pekka Heikkila 2025-12-16 329 ALLOW_ERROR_INJECTION(intel_display_driver_probe_noirq, ERRNO);
40053823baadce Jani Nikula 2023-04-14 330

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