diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c index 32bdefb91001..93511dee0a88 100644 --- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c +++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c @@ -1487,18 +1487,16 @@ static void wilc_wfi_remain_on_channel_ready(void *priv_data) static void wilc_wfi_remain_on_channel_expired(void *data, u32 session_id) { - struct wilc_priv *priv; + struct wilc_priv *priv = data; + struct wilc_wfi_p2p_listen_params *params = &priv->remain_on_ch_params; - priv = data; + if (session_id != params->listen_session_id) + return; - if (session_id == priv->remain_on_ch_params.listen_session_id) { - priv->p2p_listen_state = false; + priv->p2p_listen_state = false; - cfg80211_remain_on_channel_expired(priv->wdev, - priv->remain_on_ch_params.listen_cookie, - priv->remain_on_ch_params.listen_ch, - GFP_KERNEL); - } + cfg80211_remain_on_channel_expired(priv->wdev, params->listen_cookie, + params->listen_ch, GFP_KERNEL); } static int remain_on_channel(struct wiphy *wiphy,