From cd2b79cba62a769905f293246e9ad29d08d4f164 Mon Sep 17 00:00:00 2001 From: Janusz Dziedzic Date: Fri, 2 Sep 2011 09:04:34 +0200 Subject: 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 Tested-by: Janusz DZIEDZIC Reviewed-by: Dmitry TARNYAGIN Reviewed-by: Bartosz MARKOWSKI Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33520 Tested-by: Dmitry TARNYAGIN Reviewed-by: Philippe LANGLAIS --- drivers/staging/cw1200/scan.c | 4 ++++ drivers/staging/cw1200/sta.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3