Re: [PATCH] drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks
From: kernel test robot
Date: Sun May 17 2026 - 20:17:18 EST
Hi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 4c26e162947f91aa78ba57dd4fddd38fc80e7d60]
url: https://github.com/intel-lab-lkp/linux/commits/vishnu-saini-oss-qualcomm-com/drm-bridge-lt9611uxc-support-displays-with-up-to-4-EDID-blocks/20260518-021632
base: 4c26e162947f91aa78ba57dd4fddd38fc80e7d60
patch link: https://lore.kernel.org/r/20260517-lt9611usc_edid34_misc_next-v1-1-5e2fd8c6399b%40oss.qualcomm.com
patch subject: [PATCH] drm/bridge: lt9611uxc: support displays with up to 4 EDID blocks
config: csky-randconfig-001-20260518 (https://download.01.org/0day-ci/archive/20260518/202605180850.uN2x73KR-lkp@xxxxxxxxx/config)
compiler: csky-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260518/202605180850.uN2x73KR-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/202605180850.uN2x73KR-lkp@xxxxxxxxx/
All warnings (new ones prefixed by >>):
drivers/gpu/drm/bridge/lontium-lt9611uxc.c: In function 'lt9611uxc_get_edid_block':
>> drivers/gpu/drm/bridge/lontium-lt9611uxc.c:454:37: warning: 'memcmp' specified bound 8 exceeds source size 4 [-Wstringop-overread]
454 | while (!ret && 0 == memcmp(&edid_header, &buf, 8) && retry_cnt-- > 0) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/lontium-lt9611uxc.c:415:53: note: source object allocated here
415 | static int lt9611uxc_get_edid_block(void *data, u8 *buf, unsigned int block, size_t len)
| ~~~~^~~
vim +/memcmp +454 drivers/gpu/drm/bridge/lontium-lt9611uxc.c
414
415 static int lt9611uxc_get_edid_block(void *data, u8 *buf, unsigned int block, size_t len)
416 {
417 struct lt9611uxc *lt9611uxc = data;
418 int ret = 0;
419 int retry_cnt = 10;
420 int edid_ext_block;
421 const u8 edid_header[8] = { 0x00, 0xFF, 0xFF, 0xFF,
422 0xFF, 0xFF, 0xFF, 0x00 };
423
424 if (len > EDID_BLOCK_SIZE)
425 return -EINVAL;
426
427 if (block >= EDID_NUM_BLOCKS)
428 return -EINVAL;
429
430 if (block == 2) {
431 lt9611uxc_lock(lt9611uxc);
432
433 /* Read number of block available in EDID data */
434 ret = regmap_read(lt9611uxc->regmap, 0xb02a, &edid_ext_block);
435 if (ret) {
436 dev_err(lt9611uxc->dev, "edid block read failed: %d\n", ret);
437 lt9611uxc_unlock(lt9611uxc);
438 return ret;
439 }
440
441 /* Reset EDID ready flag so that lt9611uxc can read 2nd and 3rd block */
442 regmap_write(lt9611uxc->regmap, 0xb02a, (edid_ext_block & (~BIT(3))));
443
444 lt9611uxc_unlock(lt9611uxc);
445
446 msleep(100);
447
448 ret = lt9611uxc_read_edid_block(lt9611uxc, block, buf, len);
449
450 /*
451 * Compare first 8 bytes of EDID header (0th block) and 2nd block to confirm
452 * that 2nd EDID block data is read successfully by lt9611uxc
453 */
> 454 while (!ret && 0 == memcmp(&edid_header, &buf, 8) && retry_cnt-- > 0) {
455 msleep(100);
456 ret = lt9611uxc_read_edid_block(lt9611uxc, block, buf, len);
457 }
458 } else {
459 ret = lt9611uxc_read_edid_block(lt9611uxc, block, buf, len);
460 }
461
462 return ret;
463 };
464
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki