diff options
author | Vitaly Wool <vitaly.wool@sonyericsson.com> | 2012-02-29 15:15:27 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:06:48 +0200 |
commit | b0132d12aaa9695ec9bc0a779d6fccd14c7e43a2 (patch) | |
tree | e0577abd52f5b08bb9cac147b66b4dfe835ca3a2 | |
parent | 4375ad44d3db59085ecb351bd0bad19d31645fbb (diff) |
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 <filip.matusiak@tieto.com>
Tested-by: Filip MATUSIAK <filip.matusiak@tieto.com>
Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com>
-rw-r--r-- | 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 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) |