summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>2011-09-02 09:04:34 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-13 10:09:04 +0200
commitcd2b79cba62a769905f293246e9ad29d08d4f164 (patch)
tree2a6e8f9a01a4ffced8baaf2b792d885c413dae63
parent8f948439d25ad38d5283f9e0f79aa45e3545e62f (diff)
cw1200: Don't allow scan when in MiniAP mode
We should not allow scan (p2p_find) when firmware works in AP mode. ST-Ericsson ID: 359597 Change-Id: I2c48405a765ed5d5f569d02ea748865c1641b61f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29981 Reviewed-by: QABUILD Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Tested-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33520 Tested-by: Dmitry TARNYAGIN <dmitry.tarnyagin@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
-rw-r--r--drivers/staging/cw1200/scan.c4
-rw-r--r--drivers/staging/cw1200/sta.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/staging/cw1200/scan.c b/drivers/staging/cw1200/scan.c
index c9210e57397..11de0db44de 100644
--- a/drivers/staging/cw1200/scan.c
+++ b/drivers/staging/cw1200/scan.c
@@ -51,6 +51,10 @@ int cw1200_hw_scan(struct ieee80211_hw *hw,
if (!priv->vif)
return -EINVAL;
+ /* Scan when P2P_GO corrupt firmware MiniAP mode */
+ if (priv->join_status == CW1200_JOIN_STATUS_AP)
+ return -EOPNOTSUPP;
+
if (req->n_ssids == 1 && !req->ssids[0].ssid_len)
req->n_ssids = 0;
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index 3da13d597ef..9e14d30253c 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -763,11 +763,14 @@ int __cw1200_flush(struct cw1200_common *priv, bool drop)
}
for (;;) {
+ /* TODO: correct flush handlin is required when dev_stop.
+ * Temporary workaround: 2s
+ */
ret = wait_event_timeout(
priv->tx_queue_stats.wait_link_id_empty,
cw1200_queue_stats_is_empty(
&priv->tx_queue_stats, -1),
- 10 * HZ);
+ 2 * HZ);
if (unlikely(ret <= 0)) {
if (!ret)