From: Kalle Valo <kalle.valo@nokia.com>
To: linux-wireless@vger.kernel.org
Subject: [PATCH] stlc45xx: add beacon filtering support
Date: Mon, 23 Feb 2009 19:15:06 +0200 [thread overview]
Message-ID: <20090223171506.21125.30228.stgit@tikku> (raw)
In-Reply-To: <20090223163626.20939.4879.stgit@tikku>
Experimental patch.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
---
stlc45xx.c | 38 +++++++++++++++++++++++++++++++++-----
1 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/stlc45xx.c b/stlc45xx.c
index 7d6f909..276339f 100644
--- a/stlc45xx.c
+++ b/stlc45xx.c
@@ -1217,6 +1217,28 @@ static int stlc45xx_rx_txack(struct stlc45xx *stlc, struct sk_buff *skb)
return 0;
}
+static int stlc45xx_rx_trap(struct stlc45xx *stlc, struct sk_buff *skb)
+{
+ struct s_lm_control *control;
+ struct s_lmo_trap *trap;
+
+ stlc45xx_debug(DEBUG_FUNC, "%s", __func__);
+
+ control = (struct s_lm_control *) skb->data;
+ trap = (struct s_lmo_trap *) (control + 1);
+
+ switch (trap->event) {
+ case LM_TRAP_NO_BEACON:
+ ieee80211_beacon_loss(stlc->hw);
+ break;
+ default:
+ stlc45xx_warning("unhandled trap: %d\n", trap->event);
+ break;
+ }
+
+ return 0;
+}
+
static int stlc45xx_rx_control(struct stlc45xx *stlc, struct sk_buff *skb)
{
struct s_lm_control *control;
@@ -1230,9 +1252,11 @@ static int stlc45xx_rx_control(struct stlc45xx *stlc, struct sk_buff *skb)
case LM_OID_TX:
ret = stlc45xx_rx_txack(stlc, skb);
break;
+ case LM_OID_TRAP:
+ ret = stlc45xx_rx_trap(stlc, skb);
+ break;
case LM_OID_SETUP:
case LM_OID_SCAN:
- case LM_OID_TRAP:
case LM_OID_EDCF:
case LM_OID_KEYCACHE:
case LM_OID_PSM:
@@ -1587,7 +1611,7 @@ static void stlc45xx_tx_setup(struct stlc45xx *stlc)
setup->rx_buffer = FIRMWARE_RXBUFFER_START;
setup->rx_mtu = FIRMWARE_MTU;
setup->frontend = 5;
- setup->timeout = 0;
+ setup->timeout = 2;
setup->truncate = 48896;
setup->bratemask = 0xffffffff;
setup->ref_clock = 644245094;
@@ -1662,11 +1686,13 @@ static void stlc45xx_tx_psm(struct stlc45xx *stlc, bool enable)
control->oid = LM_OID_PSM;
if (enable)
- psm->flags |= LM_PSM;
+ psm->flags |= LM_PSM | LM_PSM_MCBC |
+ LM_PSM_CHECKSUM | LM_PSM_BEACON_TIMEOUT;
psm->aid = stlc->aid;
psm->beacon_rcpi_skip_max = 60;
+ psm->rcpi_delta_threshold = 0;
psm->intervals[0].interval = 1;
psm->intervals[0].periods = 1;
@@ -1677,7 +1703,7 @@ static void stlc45xx_tx_psm(struct stlc45xx *stlc, bool enable)
psm->intervals[3].interval = 1;
psm->intervals[3].periods = 1;
- psm->nr = 0;
+ psm->nr = 10;
psm->exclude[0] = 0;
stlc45xx_debug(DEBUG_PSM, "sending LM_OID_PSM (aid %d, interval %d)",
@@ -2107,7 +2133,9 @@ static int __devinit stlc45xx_probe(struct spi_device *spi)
IEEE80211_HW_SIGNAL_DBM |
IEEE80211_HW_NOISE_DBM |
IEEE80211_HW_SUPPORTS_PS |
- IEEE80211_HW_PS_NULLFUNC_STACK;
+ IEEE80211_HW_PS_NULLFUNC_STACK |
+ IEEE80211_HW_BEACON_FILTERING;
+
/* four bytes for padding */
hw->extra_tx_headroom = sizeof(struct s_lm_data_out) + 4;
next prev parent reply other threads:[~2009-02-23 17:15 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-23 16:37 [RFC PATCH v1 0/3] mac80211: beacon filtering Kalle Valo
2009-02-23 16:37 ` [RFC PATCH v1 1/3] mac80211: decrease execution of the associated timer Kalle Valo
2009-02-24 2:13 ` Johannes Berg
2009-02-24 18:40 ` Kalle Valo
2009-02-23 16:37 ` [RFC PATCH v1 2/3] mac80211: track beacons separately from the rx path activity Kalle Valo
2009-02-24 2:15 ` Johannes Berg
2009-02-24 18:52 ` Kalle Valo
2009-02-23 16:37 ` [RFC PATCH v1 3/3] mac80211: add beacon filtering support Kalle Valo
2009-02-23 17:47 ` Luis R. Rodriguez
2009-02-23 19:06 ` Kalle Valo
2009-02-23 19:11 ` Luis R. Rodriguez
2009-02-23 19:31 ` Kalle Valo
2009-02-23 19:58 ` Luis R. Rodriguez
2009-02-24 4:46 ` Luis R. Rodriguez
2009-02-24 5:17 ` Johannes Berg
2009-02-24 8:58 ` Jouni Malinen
2009-02-24 2:18 ` Johannes Berg
2009-02-24 20:34 ` Kalle Valo
2009-02-24 2:20 ` Johannes Berg
2009-02-24 9:01 ` Jouni Malinen
2009-02-24 18:36 ` Kalle Valo
2009-02-24 18:43 ` Jouni Malinen
2009-02-24 19:02 ` Kalle Valo
2009-02-24 18:30 ` Kalle Valo
2009-02-23 17:15 ` Kalle Valo [this message]
-- strict thread matches above, loose matches on Subject: below --
2009-03-22 19:56 [PATCH v4 0/5] mac80211: beacon filtering Kalle Valo
2009-03-22 20:02 ` [PATCH] stlc45xx: add beacon filtering support Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090223171506.21125.30228.stgit@tikku \
--to=kalle.valo@nokia.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).