From b0132d12aaa9695ec9bc0a779d6fccd14c7e43a2 Mon Sep 17 00:00:00 2001 From: Vitaly Wool Date: Wed, 29 Feb 2012 15:15:27 +0100 Subject: cw1200: Bypass BSS loss confirmation in P2P mode 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 Tested-by: Filip MATUSIAK Reviewed-by: Janusz DZIEDZIC --- drivers/staging/cw1200/sta.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c index ef0f59dd7c4..2dd90c3b929 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) -- cgit v1.2.3