She traced the logic. The mtk_sleepctl driver was supposed to suspend the display pipeline when the screen turned off. But in the 2023 revision, a junior engineer had added a “performance boost” for the new GPU: a function called mtk_disp_qos_boost() that never released its power-management Quality of Service (PM_QoS) vote.
For the next 14 hours, Lena reverse-engineered the driver’s state machine. She found that mtk_disp_qos_boost() was called by a display IRQ that never fired the corresponding release. The fix was six lines of code: mediatek driver 2023
Lena wrote a careful email to her CTO: “We can ship this patch as a ‘vendor enhancement.’ MediaTek does not need to know. But if they ever audit us, we lose support.” The CTO, a pragmatic woman named Priya, called her back in 30 seconds. She traced the logic
The symptom was baffling. A flagship phone running the new Dimensity 9300 chip would lose 8% battery life overnight while in “deep sleep.” The logs showed nothing. No runaway apps. No wake locks. Just... death by a thousand invisible cuts. For the next 14 hours, Lena reverse-engineered the
She opened the driver source tree—a sprawling 4.2-gigabyte labyrinth of C code that MediaTek had provided in Q1 2023. Buried inside drivers/misc/mediatek/conn_mgr/ was a module no one on her team had touched: mtk_sleepctl_2023.c . The file header read:
Every time the phone went to sleep, the driver voted for maximum DDR frequency . And because the vote was never cleared, the memory controller ran at full speed all night.
0001-mtk-sleepctl-fix-pm_qos-stale-vote.patch