qcacld-3.0: Handle the peer leaks in sub system restart
When vdev destroy happens, vdev destroy command is pushed into sme queue and driver waits for the sme close session event to be completed, before this sme close session is completed if SSR occurs, in SSR handling driver completes all the events forcefully and hence vdev destroy proceeds as the wait is completed because of SSR and destroys the vdev logically. Now when this pending command from the queue gets chance to execute, it tries to get the vdev reference in wma vdev detach api to force cleanup of the vdev peers, but as the vdev is logically deleted because of force completion of the wait event during SSR handling, it will not get the vdev reference and the vdev peers will not be cleaned up. During stop modules this peer leak will be detected. To resolve this issue, force cleanup the vdev peers before logically deeting the vdev when force completion of the event happens because of SSR. Change-Id: I88edf5028b818a499e1331f111202f6196aa8f03 CRs-Fixed: 2490486
Loading
Please register or sign in to comment