qcacld-3.0: Handle failure of self peer remove in SSR

When SSR is in progress, when trying to remove self peer, if
wma_remove_peer() is failed then wma_vdev_detach() doesn't send del sta
response and wma_self_peer_remove() can still proceed to start vdev
hold request timer. This can lead to skip of vdev reference count
release by wma acquired during vdev attach.

To address this, release vdev reference count when self peer remove is
failed and when del self sta request is timed-out.

Change-Id: I2703261a848983b10798cb8ec74d1cec5a393ce5
CRs-Fixed: 2342453
此提交包含在:
Rajeev Kumar Sirasanagandla
2018-10-25 21:10:34 +05:30
提交者 nshrivas
父節點 c163f9ed3e
當前提交 e5787e2440
共有 3 個檔案被更改,包括 38 行新增29 行删除

查看文件

@@ -1928,9 +1928,9 @@ void wma_process_set_pdev_ht_ie_req(tp_wma_handle wma,
void wma_process_set_pdev_vht_ie_req(tp_wma_handle wma,
struct set_ie_param *ie_params);
void wma_remove_peer(tp_wma_handle wma, u_int8_t *bssid,
u_int8_t vdev_id, void *peer,
bool roam_synch_in_progress);
QDF_STATUS wma_remove_peer(tp_wma_handle wma, uint8_t *bssid,
uint8_t vdev_id, void *peer,
bool roam_synch_in_progress);
QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev,
struct cdp_vdev *vdev, uint8_t peer_addr[6],