qcacld-3.0: Drive the self peer creation from the sme layer

Presently as part of the vdev creation the self peer for the vdev
is created in the object manager and in the firmware. The self
peer creation in the object manager needs the vdev to be in the
created state. As part of new changes to send the vdev create to
firmware as part of the vdev creation notification there will be
failure in creating in the self peer.

Hence, drive the self peer creation from the SME layer which will
create the vdev.

Change-Id: I0875f4ec5bd96438c0f21056e1d6920d3be2a177
CRs-Fixed: 2555868
This commit is contained in:
Arun Kumar Khandavalli
2019-10-22 15:26:13 +05:30
committed by nshrivas
szülő e900494f62
commit 44f34a6740
2 fájl változott, egészen pontosan 22 új sor hozzáadva és 0 régi sor törölve

Fájl megtekintése

@@ -279,4 +279,12 @@ enum vdev_assoc_type mlme_get_assoc_type(struct wlan_objmgr_vdev *vdev);
*/
QDF_STATUS mlme_vdev_create_send(struct wlan_objmgr_vdev *vdev);
/**
* mlme_vdev_self_peer_create() - function to send the vdev create self peer
* @vdev: vdev pointer
*
* Return: QDF_STATUS_SUCCESS when the self peer is successfully created
* to firmware or QDF_STATUS_E_** when there is a failure.
*/
QDF_STATUS mlme_vdev_self_peer_create(struct wlan_objmgr_vdev *vdev);
#endif

Fájl megtekintése

@@ -1201,6 +1201,20 @@ return_status:
return status;
}
QDF_STATUS mlme_vdev_self_peer_create(struct wlan_objmgr_vdev *vdev)
{
struct vdev_mlme_obj *vdev_mlme;
vdev_mlme = wlan_vdev_mlme_get_cmpt_obj(vdev);
if (!vdev_mlme) {
mlme_err("Failed to get vdev mlme obj for vdev id %d",
wlan_vdev_get_id(vdev));
return QDF_STATUS_E_INVAL;
}
return wma_vdev_self_peer_create(vdev_mlme);
}
/**
* struct sta_mlme_ops - VDEV MLME operation callbacks strucutre for sta
* @mlme_vdev_start_send: callback to initiate actions of VDEV