wlcore: don't WARN_ON in case of existing ROC
authorEliad Peller <eliad@wizery.com>
Sun, 6 Mar 2016 22:28:08 +0000 (00:28 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 10 Mar 2016 13:00:20 +0000 (15:00 +0200)
When working with AP + P2P, it's possible to get into
a state when the AP is in ROC (due to assiciating station)
while trying to ROC on the P2P interface.

Replace the WARN_ON with wl1271_error to avoid warnings
in this case.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ti/wlcore/main.c

index 45662cf3169f78dd20554cde3373336f84cb6516..dde36203ca426d04bb31fc963adb635981a10cf4 100644 (file)
@@ -5495,7 +5495,7 @@ static int wlcore_op_remain_on_channel(struct ieee80211_hw *hw,
 {
        struct wl12xx_vif *wlvif = wl12xx_vif_to_data(vif);
        struct wl1271 *wl = hw->priv;
-       int channel, ret = 0;
+       int channel, active_roc, ret = 0;
 
        channel = ieee80211_frequency_to_channel(chan->center_freq);
 
@@ -5508,9 +5508,9 @@ static int wlcore_op_remain_on_channel(struct ieee80211_hw *hw,
                goto out;
 
        /* return EBUSY if we can't ROC right now */
-       if (WARN_ON(wl->roc_vif ||
-                   find_first_bit(wl->roc_map,
-                                  WL12XX_MAX_ROLES) < WL12XX_MAX_ROLES)) {
+       active_roc = find_first_bit(wl->roc_map, WL12XX_MAX_ROLES);
+       if (wl->roc_vif || active_roc < WL12XX_MAX_ROLES) {
+               wl1271_warning("active roc on role %d", active_roc);
                ret = -EBUSY;
                goto out;
        }
This page took 0.026639 seconds and 5 git commands to generate.