浏览代码

wil6210: enable scan while connected

New firmware do support scan while connected. Enable it.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vladimir Kondratiev 11 年之前
父节点
当前提交
e83eb2fcae
共有 2 个文件被更改,包括 2 次插入8 次删除
  1. 2 6
      drivers/net/wireless/ath/wil6210/cfg80211.c
  2. 0 2
      drivers/net/wireless/ath/wil6210/main.c

+ 2 - 6
drivers/net/wireless/ath/wil6210/cfg80211.c

@@ -282,7 +282,7 @@ static int wil_cfg80211_scan(struct wiphy *wiphy,
 
 
 	/* FW don't support scan after connection attempt */
 	/* FW don't support scan after connection attempt */
 	if (test_bit(wil_status_dontscan, &wil->status)) {
 	if (test_bit(wil_status_dontscan, &wil->status)) {
-		wil_err(wil, "Scan after connect attempt not supported\n");
+		wil_err(wil, "Can't scan now\n");
 		return -EBUSY;
 		return -EBUSY;
 	}
 	}
 
 
@@ -402,10 +402,7 @@ static int wil_cfg80211_connect(struct wiphy *wiphy,
 
 
 	memcpy(conn.bssid, bss->bssid, ETH_ALEN);
 	memcpy(conn.bssid, bss->bssid, ETH_ALEN);
 	memcpy(conn.dst_mac, bss->bssid, ETH_ALEN);
 	memcpy(conn.dst_mac, bss->bssid, ETH_ALEN);
-	/*
-	 * FW don't support scan after connection attempt
-	 */
-	set_bit(wil_status_dontscan, &wil->status);
+
 	set_bit(wil_status_fwconnecting, &wil->status);
 	set_bit(wil_status_fwconnecting, &wil->status);
 
 
 	rc = wmi_send(wil, WMI_CONNECT_CMDID, &conn, sizeof(conn));
 	rc = wmi_send(wil, WMI_CONNECT_CMDID, &conn, sizeof(conn));
@@ -414,7 +411,6 @@ static int wil_cfg80211_connect(struct wiphy *wiphy,
 		mod_timer(&wil->connect_timer,
 		mod_timer(&wil->connect_timer,
 			  jiffies + msecs_to_jiffies(2000));
 			  jiffies + msecs_to_jiffies(2000));
 	} else {
 	} else {
-		clear_bit(wil_status_dontscan, &wil->status);
 		clear_bit(wil_status_fwconnecting, &wil->status);
 		clear_bit(wil_status_fwconnecting, &wil->status);
 	}
 	}
 
 

+ 0 - 2
drivers/net/wireless/ath/wil6210/main.c

@@ -113,8 +113,6 @@ static void _wil6210_disconnect(struct wil6210_priv *wil, void *bssid)
 						GFP_KERNEL);
 						GFP_KERNEL);
 		}
 		}
 		clear_bit(wil_status_fwconnecting, &wil->status);
 		clear_bit(wil_status_fwconnecting, &wil->status);
-		wil_dbg_misc(wil, "clear_bit(wil_status_dontscan)\n");
-		clear_bit(wil_status_dontscan, &wil->status);
 		break;
 		break;
 	default:
 	default:
 		/* AP-like interface and monitor:
 		/* AP-like interface and monitor: