diff options
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_p2p.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c index c7937989c648..b1d115c5bc79 100644 --- a/CORE/HDD/src/wlan_hdd_p2p.c +++ b/CORE/HDD/src/wlan_hdd_p2p.c @@ -768,8 +768,13 @@ int wlan_hdd_action( struct wiphy *wiphy, struct net_device *dev, // cause a race condition with lim remain_on_channel_timer which might // expire by the time the action frame reaches lim layer. - if ((current_time - cfgState->remain_on_chan_ctx->p2pRemOnChanTimeStamp) > - (cfgState->remain_on_chan_ctx->duration - 50 )) + // Check remaining time of RoC only in case of GO NEG CNF. + + actionFrmType = buf[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET]; + + if ((actionFrmType != WLAN_HDD_GO_NEG_CNF) || + ((current_time - cfgState->remain_on_chan_ctx->p2pRemOnChanTimeStamp) > + (cfgState->remain_on_chan_ctx->duration - 50 ))) { hddLog(LOG1,"action frame: Extending the RoC\n"); status = wlan_hdd_check_remain_on_channel(pAdapter); |
