summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2011-07-14 22:41:49 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-13 09:39:15 +0200
commit7ae20d2e8db0776aa8b0855d11c637e3476e46c5 (patch)
treefa4f42a25e9e27d5161272d360064dc2f82c8a14
parent929810b06f7836638bec699a890eb83c4401e42d (diff)
cw1200: Removed obsolete code (software keepalive).
Earlier WSM firmware has not supported keepalive. Software workaround was implemented to keep connection. This commit removes this code as obsolete. Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Chnage-Id: Ib00260c8cc05c4e7170d8cc6a071415fc87b8f03 Change-Id: I32c3b7f89e97a262592151a582235c4401de594c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/27285 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33483 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
-rw-r--r--drivers/staging/cw1200/Kconfig10
-rw-r--r--drivers/staging/cw1200/cw1200.h4
-rw-r--r--drivers/staging/cw1200/main.c3
-rw-r--r--drivers/staging/cw1200/sta.c39
-rw-r--r--drivers/staging/cw1200/txrx.c3
5 files changed, 0 insertions, 59 deletions
diff --git a/drivers/staging/cw1200/Kconfig b/drivers/staging/cw1200/Kconfig
index 7ad63fa9e2c..946d366cbfb 100644
--- a/drivers/staging/cw1200/Kconfig
+++ b/drivers/staging/cw1200/Kconfig
@@ -27,16 +27,6 @@ config CW1200_USE_GPIO_IRQ
Say Y here if you want to include GPIO IRQ support instead of SDIO IRQ.
If unsure, say N.
-config CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE
- bool "Software keep-alive (DEVELOPMENT)"
- depends on CW1200
- help
- Say Y if your firmware does not support keep-alive functionality
- or you suspect problems with the implementation.
- Please finalize software the software keep-alive functionality in
- that case.
- If unsure, say N.
-
config CW1200_5GHZ_SUPPORT
bool "5GHz band support"
depends on CW1200
diff --git a/drivers/staging/cw1200/cw1200.h b/drivers/staging/cw1200/cw1200.h
index f732af75fa0..97afb8c1392 100644
--- a/drivers/staging/cw1200/cw1200.h
+++ b/drivers/staging/cw1200/cw1200.h
@@ -173,10 +173,6 @@ struct cw1200_common {
struct work_struct event_handler;
struct delayed_work bss_loss_work;
struct delayed_work connection_loss_work;
-#if defined(CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- struct delayed_work keep_alive_work;
- unsigned long last_activity_time;
-#endif /* CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
struct work_struct tx_failure_work;
int delayed_link_loss;
diff --git a/drivers/staging/cw1200/main.c b/drivers/staging/cw1200/main.c
index 3b3c12488cb..15dd4fd5a1b 100644
--- a/drivers/staging/cw1200/main.c
+++ b/drivers/staging/cw1200/main.c
@@ -314,9 +314,6 @@ struct ieee80211_hw *cw1200_init_common(size_t priv_data_len)
INIT_DELAYED_WORK(&priv->bss_loss_work, cw1200_bss_loss_work);
INIT_DELAYED_WORK(&priv->connection_loss_work,
cw1200_connection_loss_work);
-#if defined(CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- INIT_DELAYED_WORK(&priv->keep_alive_work, cw1200_keep_alive_work);
-#endif /* CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
INIT_WORK(&priv->tx_failure_work, cw1200_tx_failure_work);
INIT_WORK(&priv->set_tim_work, cw1200_set_tim_work);
INIT_WORK(&priv->multicast_start_work, cw1200_multicast_start_work);
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index 6906d932430..50f447fb46b 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -109,9 +109,6 @@ void cw1200_stop(struct ieee80211_hw *dev)
cancel_delayed_work_sync(&priv->join_timeout);
cancel_delayed_work_sync(&priv->bss_loss_work);
cancel_delayed_work_sync(&priv->connection_loss_work);
-#if defined(CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- cancel_delayed_work_sync(&priv->keep_alive_work);
-#endif /* CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
mutex_lock(&priv->conf_mutex);
switch (priv->join_status) {
@@ -826,28 +823,6 @@ void cw1200_connection_loss_work(struct work_struct *work)
ieee80211_connection_loss(priv->vif);
}
-#if defined(CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
-void cw1200_keep_alive_work(struct work_struct *work)
-{
- struct cw1200_common *priv =
- container_of(work, struct cw1200_common, keep_alive_work.work);
- unsigned long now = jiffies;
- unsigned long delta = now - priv->last_activity_time;
- unsigned long tmo = 30 * HZ;
-
- if (delta >= tmo) {
- sta_printk(KERN_DEBUG "[CQM] Keep-alive ping.\n");
- STUB();
- /* TODO: Do a keep-alive ping :) */
- priv->last_activity_time = now;
- } else {
- tmo -= delta;
- }
- queue_delayed_work(priv->workqueue,
- &priv->keep_alive_work, tmo);
-}
-#endif /* CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
-
void cw1200_tx_failure_work(struct work_struct *work)
{
struct cw1200_common *priv =
@@ -1019,12 +994,6 @@ void cw1200_join_work(struct work_struct *work)
WARN_ON(wsm_set_block_ack_policy(priv,
priv->ba_tid_mask, priv->ba_tid_mask));
-#if defined(CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- priv->last_activity_time = jiffies;
- /* Queue keep-alive ping avery 30 sec. */
- queue_delayed_work(priv->workqueue,
- &priv->keep_alive_work, 30 * HZ);
-#endif /* CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
/* Queue unjoin if not associated in 3 sec. */
queue_delayed_work(priv->workqueue,
&priv->join_timeout, 3 * HZ);
@@ -1036,17 +1005,12 @@ void cw1200_join_work(struct work_struct *work)
cw1200_queue_remove(&priv->tx_queue[queueId],
priv, __le32_to_cpu(wsm->packetID));
cancel_delayed_work_sync(&priv->join_timeout);
-#if defined(CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- cancel_delayed_work_sync(&priv->keep_alive_work);
-#endif /* CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
cw1200_update_listening(priv, priv->listening);
WARN_ON(wsm_set_pm(priv, &priv->powersave_mode));
} else {
/* Upload keys */
WARN_ON(cw1200_upload_keys(priv));
-#if !defined(CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
WARN_ON(wsm_keep_alive_period(priv, 30 /* sec */));
-#endif /* CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
cw1200_queue_requeue(&priv->tx_queue[queueId],
__le32_to_cpu(wsm->packetID));
}
@@ -1089,9 +1053,6 @@ void cw1200_unjoin_work(struct work_struct *work)
cw1200_free_event_queue(priv);
cancel_work_sync(&priv->event_handler);
cancel_delayed_work_sync(&priv->connection_loss_work);
-#if defined(CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- cancel_delayed_work_sync(&priv->keep_alive_work);
-#endif /* CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
cw1200_update_listening(priv, priv->listening);
cw1200_update_filtering(priv);
sta_printk(KERN_DEBUG "[STA] Unjoin.\n");
diff --git a/drivers/staging/cw1200/txrx.c b/drivers/staging/cw1200/txrx.c
index 0ca01c7ae0b..5db1282b188 100644
--- a/drivers/staging/cw1200/txrx.c
+++ b/drivers/staging/cw1200/txrx.c
@@ -592,9 +592,6 @@ void cw1200_tx_confirm_cb(struct cw1200_common *priv,
if (likely(!arg->status)) {
tx->flags |= IEEE80211_TX_STAT_ACK;
-#if defined(CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)
- priv->last_activity_time = jiffies;
-#endif /* CONFIG_CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
priv->cqm_tx_failure_count = 0;
++tx_count;
cw1200_debug_txed(priv);