diff options
author | Janusz Dziedzic <janusz.dziedzic@tieto.com> | 2012-02-29 15:14:16 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:06:37 +0200 |
commit | 976bfd8cb9b4c0fdcdabd561009a1469c836dcb5 (patch) | |
tree | d089361ca238c77da6ef46a8127048144ed3db9e | |
parent | f8078997500faad868cdd6374abfdb0f17f34026 (diff) |
cw1200: Enable probe_req forwarding
In case we became P2P_GO we should enable
probe_req forwarding to upper layer. Next
wpa_supplicant will handle this request.
Need to be integrated together with firmware:
WSM_A30.01.0338
ST-Ericsson ID: 365887
ST-Ericsson FOSS-OUT ID: NA
Change-Id: I623c1b092ecbda814ff22d48269e1dbb50094d98
Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/34006
Reviewed-by: QATOOLS
Reviewed-by: QABUILD
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Tested-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
-rwxr-xr-x | drivers/staging/cw1200/ap.c | 2 | ||||
-rw-r--r-- | drivers/staging/cw1200/wsm.h | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/staging/cw1200/ap.c b/drivers/staging/cw1200/ap.c index 4f558506d12..d3c75275fae 100755 --- a/drivers/staging/cw1200/ap.c +++ b/drivers/staging/cw1200/ap.c @@ -698,6 +698,8 @@ static int cw1200_upload_beacon(struct cw1200_common *priv) __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_PROBE_RESP); frame.frame_type = WSM_FRAME_TYPE_PROBE_RESPONSE; + if (priv->vif->p2p) + frame.disable = true; ret = wsm_set_template_frame(priv, &frame); } dev_kfree_skb(frame.skb); diff --git a/drivers/staging/cw1200/wsm.h b/drivers/staging/cw1200/wsm.h index f0b07dc08a2..133de01cb96 100644 --- a/drivers/staging/cw1200/wsm.h +++ b/drivers/staging/cw1200/wsm.h @@ -1393,6 +1393,7 @@ static inline int wsm_set_operational_mode(struct cw1200_common *priv, struct wsm_template_frame { u8 frame_type; u8 rate; + bool disable; struct sk_buff *skb; }; @@ -1403,7 +1404,10 @@ static inline int wsm_set_template_frame(struct cw1200_common *priv, u8 *p = skb_push(arg->skb, 4); p[0] = arg->frame_type; p[1] = arg->rate; - ((u16 *) p)[1] = __cpu_to_le16(arg->skb->len - 4); + if (arg->disable) + ((u16 *) p)[1] = 0; + else + ((u16 *) p)[1] = __cpu_to_le16(arg->skb->len - 4); ret = wsm_write_mib(priv, WSM_MIB_ID_TEMPLATE_FRAME, p, arg->skb->len); skb_pull(arg->skb, 4); return ret; |