When peer creation fails in wma_create_peer, vdev delete is sent to the fw and then eWNI_SME_ADD_STA_SELF_RSP is sent to sme. Here three error cases needs to be handled: 1. The vdev deletion has happened, but the cdp_detach_peer is not done. So the data path peer remains. Also the vdev_active flag that was set after vdev creation was not unset. 2. The eWNI_SME_ADD_STA_SELF_RSP msg handler csr_process_add_sta_session_rsp invokes csr_roam_session_opened which signals HDD that vdev is created successfully and hdd calls hdd_vdev_ready and vdev related parameter set commands are sent to FW for the deleted vdev. 3. Vdev delete is not sent for objmgr peer creation failure in case of VDEV_TYPE_STA and release vdev object ref count. Add cdp_vdev_detach() calls during error case and set the vdev_active flag to false. Handle releasing vdev object ref count in all needed error case flows. Propagate the error in wma_vdev_attach() through csr_roam_session_opened() to HDD and abort the vdev create. Change-Id: Iec97122d011098fae7ae2a59864fbe8ca8a0980e CRs-Fixed: 2322212 |
||
---|---|---|
.. | ||
inc | ||
src |