Skip to content
Heist/ feed
Back to feed
HighFix available

wifi: mt76: mt7925: cancel mlo_pm_work on stop

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: cancel mlo_pm_work on stop mt7925 queues mlo_pm_work with a 5 second delay during multi-link power-save setup and never cancels it on the stop path. If the device is torn down inside that window, the work outlives the teardown and its timer fires afterwards, trying to queue onto the workqueue that is already gone: workqueue: cannot queue mt7925_mlo_pm_work [mt7925_common] on wq phy0 WARNING: kernel/workqueue.c:2283 at __queue_work+0x59/0xa0, CPU#1: swapper/1/0 call_timer_fn+0x2a/0x140 __run_timers+0x203/0x330 run_timer_softirq+0x86/0xf0 mt7921 already has its own stop callback, so add one for mt7925 that cancels the work before calling mt792x_stop(). mt7925_ops backs both the PCIe and USB drivers, so this covers both.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.18.50, 7.2.4
CVEs
CVE-2026-80936
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 18:08 UTC · Revision 1

Source evidence

wifi: mt76: mt7925: cancel mlo_pm_work on stop

core-osv · Original source

Published 11 Sept 2026, 19:42 UTC

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: cancel mlo_pm_work on stop mt7925 queues mlo_pm_work with a 5 second delay during multi-link power-save setup and never cancels it on the stop path. If the device is torn down inside that window, the work outlives the teardown and its timer fires afterwards, trying to queue onto the workqueue that is already gone: workqueue: cannot queue mt7925_mlo_pm_work [mt7925_common] on wq phy0 WARNING: kernel/workqueue.c:2283 at __queue_work+0x59/0xa0, CPU#1: swapper/1/0 call_timer_fn+0x2a/0x140 __run_timers+0x203/0x330 run_timer_softirq+0x86/0xf0 mt7921 already has its own stop callback, so add one for mt7925 that cancels the work before calling mt792x_stop(). mt7925_ops backs both the PCIe and USB drivers, so this covers both.

osv:CVE-2026-80936

Kernel

Fixed versions: 6.18.50, 7.2.4

Complete source record
{
  "id": "9339aef474f02e61a3f5e931973a4746df425c220cbd604647aa346bbccaef98",
  "url": "https://osv.dev/vulnerability/CVE-2026-80936",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "wifi: mt76: mt7925: cancel mlo_pm_work on stop",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: cancel mlo_pm_work on stop mt7925 queues mlo_pm_work with a 5 second delay during multi-link power-save setup and never cancels it on the stop path. If the device is torn down inside that window, the work outlives the teardown and its timer fires afterwards, trying to queue onto the workqueue that is already gone: workqueue: cannot queue mt7925_mlo_pm_work [mt7925_common] on wq phy0 WARNING: kernel/workqueue.c:2283 at __queue_work+0x59/0xa0, CPU#1: swapper/1/0 call_timer_fn+0x2a/0x140 __run_timers+0x203/0x330 run_timer_softirq+0x86/0xf0 mt7921 already has its own stop callback, so add one for mt7925 that cancels the work before calling mt792x_stop(). mt7925_ops backs both the PCIe and USB drivers, so this covers both.",
    "evidence": "osv:CVE-2026-80936",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.18.50",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.2.4",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-80936",
      "aliases": [
        "CVE-2026-80936"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "276a568832577c81ec90b62dc506bbdc3781ca46"
                },
                {
                  "fixed": "304470333b7f525b23699ea7a7aed3b40ca37ca9"
                },
                {
                  "fixed": "9e20da749ad229a1aa649ece528721b9652f15e1"
                },
                {
                  "fixed": "81faf578320df2dfc682a96baa6e85851dd68b6f"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6.14.3"
                },
                {
                  "fixed": "6.15"
                }
              ]
            },
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "74eb79258bfd5f2ffe6d26a09c898992b2afa1ce"
                }
              ]
            }
          ],
          "versions": [
            "v6.14.11",
            "v6.14.10",
            "v6.14.9",
            "v6.14.8",
            "v6.14.7",
            "v6.14.6",
            "v6.14.5",
            "v6.14.4",
            "v6.14.3"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80936.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.15.0"
                },
                {
                  "fixed": "6.18.50"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.2.4"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80936.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:31.087360824Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/304470333b7f525b23699ea7a7aed3b40ca37ca9",
        "https://git.kernel.org/stable/c/81faf578320df2dfc682a96baa6e85851dd68b6f",
        "https://git.kernel.org/stable/c/9e20da749ad229a1aa649ece528721b9652f15e1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80936.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-80936",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80936.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-80936",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 498243,
  "published_at": "2026-09-11T19:42:10.034+00:00"
}