---
id: CVE-2026-99188
title: 'net: stmmac: dwmac1000: clear the RGMII status interrupt'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: stmmac: dwmac1000: clear the RGMII status interrupt

  Since commit 2e2c878a3141 ("net: stmmac: remove SGMII/RGMII/SMII
  interrupt handling") nothing on the RGMII pat…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 2e2c878a314175a4c3b76ee3be455f543438f472 <
    affc6d572935282ef9ab1e0b790cbc31e5ad8bca
  - >-
    Linux >= 2e2c878a314175a4c3b76ee3be455f543438f472 <
    aa07285705f8d5bac464eb1c5b7412f8e88b91e1
  - Linux 6.19
published: '2026-10-28'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T10:35:45.591Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99188'
references:
  - url: 'https://git.kernel.org/stable/c/affc6d572935282ef9ab1e0b790cbc31e5ad8bca'
  - url: 'https://git.kernel.org/stable/c/aa07285705f8d5bac464eb1c5b7412f8e88b91e1'
tags:
  - cve.org
ingestedAt: '2026-10-28T11:09:40.376Z'
---

## Overview

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

net: stmmac: dwmac1000: clear the RGMII status interrupt

Since commit 2e2c878a3141 ("net: stmmac: remove SGMII/RGMII/SMII
interrupt handling") nothing on the RGMII path reads GMAC_RGSMIIIS, so
RGSMIIIS stays pending behind GMAC_INT_MASK from the first link change
on. stmmac_resume() resets the MAC in stmmac_hw_setup(); the reset sets
GMAC_INT_MASK to 0 until dwmac1000_core_init() writes the mask again,
and the pending status storms the line:

  dwmac_dma_interrupt: unexpected status 04000000

A register dump at the first message on ODROID-HC4 showed it:

  core int_status 00000001 int_mask 00000000 pmt 00000000 rgsmiiis 0000000d

When the resume thread runs on the CPU that takes the MAC interrupt,
the storm starves it: a soft lockup, then a watchdog reset or a hang.

Read GMAC_RGSMIIIS in dwmac1000_irq_status() when the status is not
masked, as the driver did before 2e2c878a3141; the read clears it.

Wake-on-LAN resume from s2idle with the resume thread and the MAC
interrupt on one CPU: Helios64 (dwmac-rk), 7.3-rc6, soft-locked in 3 of
3 resumes without a fix and in 0 of 10 with this patch; it ran with an
out-of-tree dwmac-rk change that keeps the GMAC powered across suspend.
ODROID-HC4 (dwmac-meson8b): 0 of 10 with this patch, 2 of 2 without a
fix on a 7.3-rc5 build. irq_rgmii_n went up by one per resume.

## Affected

- `Linux >= 2e2c878a314175a4c3b76ee3be455f543438f472 < affc6d572935282ef9ab1e0b790cbc31e5ad8bca`
- `Linux >= 2e2c878a314175a4c3b76ee3be455f543438f472 < aa07285705f8d5bac464eb1c5b7412f8e88b91e1`
- `Linux 6.19`

## Remediation

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