qcacmn: Call channel change callback in regulatory_pdev_open

During pdev create callback, pdev reference cannot be taken. Hence,
channel change callbacks cannot be called during pdev create. So
call the callbacks during regulatory_pdev_open. Also dont check
if regulatory_pdev_open fails.

Change-Id: I9d444f952418be983e4ac2182581d03bba02b198
CRs-Fixed: 2572487
This commit is contained in:
Amar Singhal
2019-11-22 10:25:48 -08:00
committed by nshrivas
parent e903f492d1
commit 7defbc9a07
4 changed files with 31 additions and 1 deletions

View File

@@ -298,6 +298,12 @@ static QDF_STATUS dispatcher_spectral_pdev_close(struct wlan_objmgr_pdev *pdev)
}
#endif
static QDF_STATUS dispatcher_regulatory_pdev_open(struct wlan_objmgr_pdev
*pdev)
{
return regulatory_pdev_open(pdev);
}
static QDF_STATUS dispatcher_regulatory_pdev_close(struct wlan_objmgr_pdev
*pdev)
{
@@ -1058,6 +1064,9 @@ QDF_STATUS dispatcher_pdev_open(struct wlan_objmgr_pdev *pdev)
{
QDF_STATUS status;
if (QDF_STATUS_SUCCESS != dispatcher_regulatory_pdev_open(pdev))
goto regulatory_pdev_open_fail;
status = dispatcher_spectral_pdev_open(pdev);
if (status != QDF_STATUS_SUCCESS && status != QDF_STATUS_COMP_DISABLED)
goto spectral_pdev_open_fail;
@@ -1080,6 +1089,9 @@ mgmt_txrx_pdev_open_fail:
cfr_pdev_open_fail:
dispatcher_spectral_pdev_close(pdev);
spectral_pdev_open_fail:
dispatcher_regulatory_pdev_close(pdev);
regulatory_pdev_open_fail:
return QDF_STATUS_E_FAILURE;
}
qdf_export_symbol(dispatcher_pdev_open);