diff options
6 files changed, 24 insertions, 2 deletions
diff --git a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/common/wlan_oid.c b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/common/wlan_oid.c index 1e658384a91b..e7ccce39aa70 100755 --- a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/common/wlan_oid.c +++ b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/common/wlan_oid.c @@ -577,6 +577,10 @@ wlanoidSetBssidListScan(IN P_ADAPTER_T prAdapter, return WLAN_STATUS_FAILURE; } + cnmTimerStartTimer(prAdapter, + &prAdapter->rWifiVar.rAisFsmInfo.rScanDoneTimer, + SEC_TO_MSEC(AIS_SCN_DONE_TIMEOUT_SEC)); + return WLAN_STATUS_SUCCESS; } /* wlanoidSetBssidListScan */ diff --git a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/mgmt/p2p_func.c b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/mgmt/p2p_func.c index ab4fc438e424..aceb483c41a6 100755 --- a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/mgmt/p2p_func.c +++ b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/mgmt/p2p_func.c @@ -1171,6 +1171,7 @@ VOID p2pFuncDfsSwitchCh(IN P_ADAPTER_T prAdapter, IN P_BSS_INFO_T prBssInfo, IN P_GLUE_INFO_T prGlueInfo; P_P2P_ROLE_FSM_INFO_T prP2pRoleFsmInfo = (P_P2P_ROLE_FSM_INFO_T) NULL; P_CMD_RDD_ON_OFF_CTRL_T prCmdRddOnOffCtrl; + UINT_8 role_idx; DEBUGFUNC("p2pFuncDfsSwitchCh()"); @@ -1220,6 +1221,13 @@ VOID p2pFuncDfsSwitchCh(IN P_ADAPTER_T prAdapter, IN P_BSS_INFO_T prBssInfo, IN prGlueInfo = prAdapter->prGlueInfo; + role_idx = prP2pRoleFsmInfo->ucRoleIndex; + + if (prGlueInfo->prP2PInfo[role_idx]->chandef == NULL) { + DBGLOG(P2P, INFO, "Not start ch switch!\n"); + return; + } + DBGLOG(P2P, INFO, "p2pFuncDfsSwitchCh: Update to OS\n"); cfg80211_ch_switch_notify(prGlueInfo->prP2PInfo[prP2pRoleFsmInfo->ucRoleIndex]->prDevHandler, prGlueInfo->prP2PInfo[prP2pRoleFsmInfo->ucRoleIndex]->chandef); diff --git a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/os/linux/gl_init.c b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/os/linux/gl_init.c index f8434dc5b9ed..8163a3f0fd91 100755 --- a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/os/linux/gl_init.c +++ b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668-usb/os/linux/gl_init.c @@ -349,7 +349,6 @@ static struct cfg80211_ops mtk_wlan_ops = { .del_station = mtk_cfg80211_del_station, #endif .scan = mtk_cfg80211_scan, - .abort_scan = mtk_cfg80211_abort_scan, .connect = mtk_cfg80211_connect, .disconnect = mtk_cfg80211_disconnect, .join_ibss = mtk_cfg80211_join_ibss, diff --git a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/common/wlan_oid.c b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/common/wlan_oid.c index 1e658384a91b..e7ccce39aa70 100755 --- a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/common/wlan_oid.c +++ b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/common/wlan_oid.c @@ -577,6 +577,10 @@ wlanoidSetBssidListScan(IN P_ADAPTER_T prAdapter, return WLAN_STATUS_FAILURE; } + cnmTimerStartTimer(prAdapter, + &prAdapter->rWifiVar.rAisFsmInfo.rScanDoneTimer, + SEC_TO_MSEC(AIS_SCN_DONE_TIMEOUT_SEC)); + return WLAN_STATUS_SUCCESS; } /* wlanoidSetBssidListScan */ diff --git a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/mgmt/p2p_func.c b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/mgmt/p2p_func.c index ab4fc438e424..aceb483c41a6 100755 --- a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/mgmt/p2p_func.c +++ b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/mgmt/p2p_func.c @@ -1171,6 +1171,7 @@ VOID p2pFuncDfsSwitchCh(IN P_ADAPTER_T prAdapter, IN P_BSS_INFO_T prBssInfo, IN P_GLUE_INFO_T prGlueInfo; P_P2P_ROLE_FSM_INFO_T prP2pRoleFsmInfo = (P_P2P_ROLE_FSM_INFO_T) NULL; P_CMD_RDD_ON_OFF_CTRL_T prCmdRddOnOffCtrl; + UINT_8 role_idx; DEBUGFUNC("p2pFuncDfsSwitchCh()"); @@ -1220,6 +1221,13 @@ VOID p2pFuncDfsSwitchCh(IN P_ADAPTER_T prAdapter, IN P_BSS_INFO_T prBssInfo, IN prGlueInfo = prAdapter->prGlueInfo; + role_idx = prP2pRoleFsmInfo->ucRoleIndex; + + if (prGlueInfo->prP2PInfo[role_idx]->chandef == NULL) { + DBGLOG(P2P, INFO, "Not start ch switch!\n"); + return; + } + DBGLOG(P2P, INFO, "p2pFuncDfsSwitchCh: Update to OS\n"); cfg80211_ch_switch_notify(prGlueInfo->prP2PInfo[prP2pRoleFsmInfo->ucRoleIndex]->prDevHandler, prGlueInfo->prP2PInfo[prP2pRoleFsmInfo->ucRoleIndex]->chandef); diff --git a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/os/linux/gl_init.c b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/os/linux/gl_init.c index 5d4d9e91d1da..8741db8d1b4c 100755 --- a/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/os/linux/gl_init.c +++ b/drivers/misc/mediatek/connectivity/wlan/gen4-mt7668/os/linux/gl_init.c @@ -354,7 +354,6 @@ static struct cfg80211_ops mtk_wlan_ops = { .del_station = mtk_cfg80211_del_station, #endif .scan = mtk_cfg80211_scan, - .abort_scan = mtk_cfg80211_abort_scan, .connect = mtk_cfg80211_connect, .disconnect = mtk_cfg80211_disconnect, .join_ibss = mtk_cfg80211_join_ibss, |