Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote: > From: Zong-Zhe Yang <kevin_yang@xxxxxxxxxxx> > > The CAM, meaning address CAM and bssid CAM here, will get leaks during > SER (system error recover) L2 reset process and ieee80211_restart_hw() > which is called by L2 reset process eventually. > > The normal flow would be like > -> add interface (acquire 1) > -> enter ips (release 1) > -> leave ips (acquire 1) > -> connection (occupy 1) <(A) 1 leak after L2 reset if non-sec connection> > > The ieee80211_restart_hw() flow (under connection) > -> ieee80211 reconfig > -> add interface (acquire 1) > -> leave ips (acquire 1) > -> connection (occupy (A) + 2) <(B) 1 more leak> > > Originally, CAM is released before HW restart only if connection is under > security. Now, release CAM whatever connection it is to fix leak in (A). > OTOH, check if CAM is already valid to avoid acquiring multiple times to > fix (B). > > Besides, if AP mode, release address CAM of all stations before HW restart. > > Signed-off-by: Zong-Zhe Yang <kevin_yang@xxxxxxxxxxx> > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> 8 patches applied to wireless-next.git, thanks. b169f877f001 rtw89: ser: fix CAM leaks occurring in L2 reset e1400b115cac rtw89: mac: move table of mem base addr to common 198b6cf70146 rtw89: mac: correct decision on error status by scenario 14f9f4790048 rtw89: ser: control hci interrupts on/off by state 9f8004bfed03 rtw89: ser: dump memory for fw payload engine while L2 reset f5e246846412 rtw89: ser: dump fw backtrace while L2 reset 11fe4ccda867 rtw89: reconstruct fw feature edb896297abe rtw89: support FW crash simulation -- https://patchwork.kernel.org/project/linux-wireless/patch/20220314071250.40292-2-pkshih@xxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches