aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/cmdresp.c
diff options
context:
space:
mode:
authorKiran Divekar <dkiran@marvell.com>2010-06-14 12:31:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-23 15:13:11 -0400
commite86dc1ca4676445d9f0dfe35104efe0eb8a2f566 (patch)
treebd39d0d4403899fb438a2e983e1b97c1ccd9b1ad /drivers/net/wireless/libertas/cmdresp.c
parentf90754c15f47063671aea55268a9dd6a37b51492 (diff)
Libertas: cfg80211 support
Holger Schurig's patch (https://patchwork.kernel.org/patch/64286/) is rebased to latest wireless-testing tree. (Includes patches from me originally posted as "libertas: fix build error due to undefined symbol" and "libertas: unmangle capability value". -- JWL) Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kiran Divekar <dkiran@marvell.com> Tested-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r--drivers/net/wireless/libertas/cmdresp.c29
1 files changed, 3 insertions, 26 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c
index d6c30635364..9c18227ecc7 100644
--- a/drivers/net/wireless/libertas/cmdresp.c
+++ b/drivers/net/wireless/libertas/cmdresp.c
@@ -5,18 +5,10 @@
5#include <linux/slab.h> 5#include <linux/slab.h>
6#include <linux/delay.h> 6#include <linux/delay.h>
7#include <linux/sched.h> 7#include <linux/sched.h>
8#include <linux/if_arp.h>
9#include <linux/netdevice.h>
10#include <asm/unaligned.h> 8#include <asm/unaligned.h>
11#include <net/iw_handler.h> 9#include <net/cfg80211.h>
12 10
13#include "host.h" 11#include "cfg.h"
14#include "decl.h"
15#include "cmd.h"
16#include "defs.h"
17#include "dev.h"
18#include "assoc.h"
19#include "wext.h"
20#include "cmd.h" 12#include "cmd.h"
21 13
22/** 14/**
@@ -50,23 +42,8 @@ void lbs_mac_event_disconnected(struct lbs_private *priv)
50 priv->currenttxskb = NULL; 42 priv->currenttxskb = NULL;
51 priv->tx_pending_len = 0; 43 priv->tx_pending_len = 0;
52 44
53 /* reset SNR/NF/RSSI values */
54 memset(priv->SNR, 0x00, sizeof(priv->SNR));
55 memset(priv->NF, 0x00, sizeof(priv->NF));
56 memset(priv->RSSI, 0x00, sizeof(priv->RSSI));
57 memset(priv->rawSNR, 0x00, sizeof(priv->rawSNR));
58 memset(priv->rawNF, 0x00, sizeof(priv->rawNF));
59 priv->nextSNRNF = 0;
60 priv->numSNRNF = 0;
61 priv->connect_status = LBS_DISCONNECTED; 45 priv->connect_status = LBS_DISCONNECTED;
62 46
63 /* Clear out associated SSID and BSSID since connection is
64 * no longer valid.
65 */
66 memset(&priv->curbssparams.bssid, 0, ETH_ALEN);
67 memset(&priv->curbssparams.ssid, 0, IEEE80211_MAX_SSID_LEN);
68 priv->curbssparams.ssid_len = 0;
69
70 if (priv->psstate != PS_STATE_FULL_POWER) { 47 if (priv->psstate != PS_STATE_FULL_POWER) {
71 /* make firmware to exit PS mode */ 48 /* make firmware to exit PS mode */
72 lbs_deb_cmd("disconnected, so exit PS mode\n"); 49 lbs_deb_cmd("disconnected, so exit PS mode\n");
@@ -262,7 +239,7 @@ int lbs_process_command_response(struct lbs_private *priv, u8 *data, u32 len)
262 * ad-hoc mode. It takes place in 239 * ad-hoc mode. It takes place in
263 * lbs_execute_next_command(). 240 * lbs_execute_next_command().
264 */ 241 */
265 if (priv->mode == IW_MODE_ADHOC && 242 if (priv->wdev->iftype == NL80211_IFTYPE_MONITOR &&
266 action == CMD_SUBCMD_ENTER_PS) 243 action == CMD_SUBCMD_ENTER_PS)
267 priv->psmode = LBS802_11POWERMODECAM; 244 priv->psmode = LBS802_11POWERMODECAM;
268 } else if (action == CMD_SUBCMD_ENTER_PS) { 245 } else if (action == CMD_SUBCMD_ENTER_PS) {