[PATCH 80/99] cw1200: Bypass BSS loss confirmation in P2P mode

Dmitry Tarnyagin dmitry.tarnyagin at stericsson.com
Wed Feb 29 14:15:27 UTC 2012


From: Vitaly Wool <vitaly.wool at sonyericsson.com>

BSS loss confirmation mechanism is used as a workaround for some
buggy APs that don't send beacons after join. This mechanism has
some side effects in P2P case which we'd rather avoid so let's
just bypass it then.

ST-Ericsson ID: 411069

Change-Id: Ie33b3eb4452b9ebce5e1fc0ab49dbabe5f5755c1
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/46079
Reviewed-by: Filip MATUSIAK <filip.matusiak at tieto.com>
Tested-by: Filip MATUSIAK <filip.matusiak at tieto.com>
Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic at tieto.com>
---
 drivers/staging/cw1200/sta.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index 2b377c7..604db17 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -1015,6 +1015,10 @@ void cw1200_bss_loss_work(struct work_struct *work)
 	timeout = priv->cqm_link_loss_count -
 		priv->cqm_beacon_loss_count;
 
+	/* Skip the confimration procedure in P2P case */
+	if (priv->vif->p2p)
+		goto report;
+
 	spin_lock(&priv->bss_loss_lock);
 	if (priv->bss_loss_status == CW1200_BSS_LOSS_CHECKING) {
 		spin_unlock(&priv->bss_loss_lock);
@@ -1034,6 +1038,7 @@ void cw1200_bss_loss_work(struct work_struct *work)
 	}
 	spin_unlock(&priv->bss_loss_lock);
 
+report:
 	if (priv->cqm_beacon_loss_count) {
 		sta_printk(KERN_DEBUG "[CQM] Beacon loss.\n");
 		if (timeout <= 0)
-- 
1.7.8.3



More information about the kernel mailing list