CVE-2026-98957: wifi: mt76: mt7915: disable rx napi when removing device
In the Linux kernel, the following vulnerability has been resolved:
wifi: mt76: mt7915: disable rx napi when removing device
Unloading the mt7915e module with a MT7916 triggers multiples WARN in netifnapidellocked() and in pagepooldisabledirectrecycling() because the driver does not disable the napi before destroying it.
This is troublesome since on MT7916 it is required to unload the module and reinsert it with a different enable6ghz parameter to change the frequency. The system generally becomes unstable after reinserting the module.
Fix it by disabling rx napi inside mt7915e itself, even through napi rx is enabled in the mt76 generic code. Disabling it in the mt76 generic code was previously attempted and reverted because napi was disabled too late and rx handlers could access freed structures. Note that the tx side is enabled and disabled by the mt76 generic code.
It is disabled in mt7915stophardware() since, unlike mt7915unregisterdevice(), is it also called in the probe path if an error happens after rx napi is enabled.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Disable RX NAPI inside mt7915e when removing the device, before destroying the NAPI instance.
mt7915e RX NAPI = disabled