---
id: CVE-2026-31572
title: 'i2c: designware: amdisp: Fix resume-probe race condition issue'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  i2c: designware: amdisp: Fix resume-probe race condition issue

  Identified resume-probe race condition in kernel v7.0 with the commit
  38fa29b01a6a ("i2c: designware: Co…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d6263c468a761cd4c89887073614394ac48441e1 <
    83bcea9da91965484df64a6492b89e65d41ab31c
  - >-
    Linux >= d6263c468a761cd4c89887073614394ac48441e1 <
    e81f0341754c309e33babea2821eda8f98f0b44c
  - >-
    Linux >= d6263c468a761cd4c89887073614394ac48441e1 <
    e2f1ada8e089dd5a331bcd8b88125ae2af8d188f
  - Linux 6.16
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T21:39:22.654738Z'
published: '2026-04-24'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T21:45:08.479Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-31572'
references:
  - url: 'https://git.kernel.org/stable/c/83bcea9da91965484df64a6492b89e65d41ab31c'
  - url: 'https://git.kernel.org/stable/c/e81f0341754c309e33babea2821eda8f98f0b44c'
  - url: 'https://git.kernel.org/stable/c/e2f1ada8e089dd5a331bcd8b88125ae2af8d188f'
tags:
  - cve.org
epss: 0.00088
epssPercentile: 0.00355
ingestedAt: '2026-11-05T23:41:31.964Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

i2c: designware: amdisp: Fix resume-probe race condition issue

Identified resume-probe race condition in kernel v7.0 with the commit
38fa29b01a6a ("i2c: designware: Combine the init functions"),but this
issue existed from the beginning though not detected.

The amdisp i2c device requires ISP to be in power-on state for probe
to succeed. To meet this requirement, this device is added to genpd
to control ISP power using runtime PM. The pm_runtime_get_sync() called
before i2c_dw_probe() triggers PM resume, which powers on ISP and also
invokes the amdisp i2c runtime resume before the probe completes resulting
in this race condition and a NULL dereferencing issue in v7.0

Fix this race condition by using the genpd APIs directly during probe:
  - Call dev_pm_genpd_resume() to Power ON ISP before probe
  - Call dev_pm_genpd_suspend() to Power OFF ISP after probe
  - Set the device to suspended state with pm_runtime_set_suspended()
  - Enable runtime PM only after the device is fully initialized

## Affected

- `Linux >= d6263c468a761cd4c89887073614394ac48441e1 < 83bcea9da91965484df64a6492b89e65d41ab31c`
- `Linux >= d6263c468a761cd4c89887073614394ac48441e1 < e81f0341754c309e33babea2821eda8f98f0b44c`
- `Linux >= d6263c468a761cd4c89887073614394ac48441e1 < e2f1ada8e089dd5a331bcd8b88125ae2af8d188f`
- `Linux 6.16`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
