CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's mt7615 driver, where improper handling of mutex locks during the suspend process can lead to a deadlock situation. This flaw occurs when the mt7615_suspend() function attempts to cancel ongoing work while holding a mutex, potentially freezing the system if mac_work is already running. Linux distributions utilizing the mt7615 driver should prioritize this fix to avoid potential system instability during suspend operations.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7615: avoid waiting for mac work under the mt76 mutex mt7615_suspend() acquired the mt76 mutex and then called cancel_delayed_work_sync() on mac_work. mt7615_mac_work() acquires the same mutex via mt7615_mutex_acquire() at the top of the worker, so if mac_work is already running and blocked on the mutex, the suspend path deadlocks waiting for the work it holds the mutex against. Flush scan_work and mac_work before taking the mutex, matching the suspend paths in mt7921 and mt7925. scan_work only takes the mt76 spinlock, but moving it keeps the sequence consistent. This also keeps mac_work from running over an already suspended HIF, which the previous split (async cancel under the lock, sync cancel after release) would have allowed.