Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
031cf0e9
Commit
031cf0e9
authored
Jan 19, 2010
by
John W. Linville
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
parents
730dd705
ad580db5
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
119 additions
and
29 deletions
+119
-29
drivers/net/wireless/iwlwifi/iwl-4965.c
drivers/net/wireless/iwlwifi/iwl-4965.c
+1
-1
drivers/net/wireless/iwlwifi/iwl-5000.c
drivers/net/wireless/iwlwifi/iwl-5000.c
+5
-0
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.c
+25
-20
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-dev.h
+1
-1
drivers/net/wireless/iwlwifi/iwl-devtrace.c
drivers/net/wireless/iwlwifi/iwl-devtrace.c
+26
-0
drivers/net/wireless/iwlwifi/iwl-devtrace.h
drivers/net/wireless/iwlwifi/iwl-devtrace.h
+26
-0
drivers/net/wireless/iwmc3200wifi/commands.c
drivers/net/wireless/iwmc3200wifi/commands.c
+4
-0
drivers/net/wireless/iwmc3200wifi/commands.h
drivers/net/wireless/iwmc3200wifi/commands.h
+1
-0
drivers/net/wireless/p54/p54pci.c
drivers/net/wireless/p54/p54pci.c
+8
-0
drivers/net/wireless/zd1211rw/zd_usb.c
drivers/net/wireless/zd1211rw/zd_usb.c
+1
-0
net/mac80211/cfg.c
net/mac80211/cfg.c
+3
-0
net/mac80211/iface.c
net/mac80211/iface.c
+7
-3
net/mac80211/mlme.c
net/mac80211/mlme.c
+3
-1
net/mac80211/rc80211_pid_algo.c
net/mac80211/rc80211_pid_algo.c
+1
-1
net/mac80211/rx.c
net/mac80211/rx.c
+4
-0
net/wireless/core.c
net/wireless/core.c
+2
-2
net/wireless/sme.c
net/wireless/sme.c
+1
-0
No files found.
drivers/net/wireless/iwlwifi/iwl-4965.c
View file @
031cf0e9
...
@@ -1961,7 +1961,7 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv,
...
@@ -1961,7 +1961,7 @@ static void iwl4965_rx_reply_tx(struct iwl_priv *priv,
struct
ieee80211_tx_info
*
info
;
struct
ieee80211_tx_info
*
info
;
struct
iwl4965_tx_resp
*
tx_resp
=
(
void
*
)
&
pkt
->
u
.
raw
[
0
];
struct
iwl4965_tx_resp
*
tx_resp
=
(
void
*
)
&
pkt
->
u
.
raw
[
0
];
u32
status
=
le32_to_cpu
(
tx_resp
->
u
.
status
);
u32
status
=
le32_to_cpu
(
tx_resp
->
u
.
status
);
int
tid
=
MAX_TID_COUNT
-
1
;
int
uninitialized_var
(
tid
)
;
int
sta_id
;
int
sta_id
;
int
freed
;
int
freed
;
u8
*
qc
=
NULL
;
u8
*
qc
=
NULL
;
...
...
drivers/net/wireless/iwlwifi/iwl-5000.c
View file @
031cf0e9
...
@@ -1600,6 +1600,7 @@ struct iwl_cfg iwl5300_agn_cfg = {
...
@@ -1600,6 +1600,7 @@ struct iwl_cfg iwl5300_agn_cfg = {
.
use_bsm
=
false
,
.
use_bsm
=
false
,
.
ht_greenfield_support
=
true
,
.
ht_greenfield_support
=
true
,
.
led_compensation
=
51
,
.
led_compensation
=
51
,
.
use_rts_for_ht
=
true
,
/* use rts/cts protection */
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
};
};
...
@@ -1623,6 +1624,7 @@ struct iwl_cfg iwl5100_bgn_cfg = {
...
@@ -1623,6 +1624,7 @@ struct iwl_cfg iwl5100_bgn_cfg = {
.
use_bsm
=
false
,
.
use_bsm
=
false
,
.
ht_greenfield_support
=
true
,
.
ht_greenfield_support
=
true
,
.
led_compensation
=
51
,
.
led_compensation
=
51
,
.
use_rts_for_ht
=
true
,
/* use rts/cts protection */
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
};
};
...
@@ -1668,6 +1670,7 @@ struct iwl_cfg iwl5100_agn_cfg = {
...
@@ -1668,6 +1670,7 @@ struct iwl_cfg iwl5100_agn_cfg = {
.
use_bsm
=
false
,
.
use_bsm
=
false
,
.
ht_greenfield_support
=
true
,
.
ht_greenfield_support
=
true
,
.
led_compensation
=
51
,
.
led_compensation
=
51
,
.
use_rts_for_ht
=
true
,
/* use rts/cts protection */
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
};
};
...
@@ -1691,6 +1694,7 @@ struct iwl_cfg iwl5350_agn_cfg = {
...
@@ -1691,6 +1694,7 @@ struct iwl_cfg iwl5350_agn_cfg = {
.
use_bsm
=
false
,
.
use_bsm
=
false
,
.
ht_greenfield_support
=
true
,
.
ht_greenfield_support
=
true
,
.
led_compensation
=
51
,
.
led_compensation
=
51
,
.
use_rts_for_ht
=
true
,
/* use rts/cts protection */
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
};
};
...
@@ -1714,6 +1718,7 @@ struct iwl_cfg iwl5150_agn_cfg = {
...
@@ -1714,6 +1718,7 @@ struct iwl_cfg iwl5150_agn_cfg = {
.
use_bsm
=
false
,
.
use_bsm
=
false
,
.
ht_greenfield_support
=
true
,
.
ht_greenfield_support
=
true
,
.
led_compensation
=
51
,
.
led_compensation
=
51
,
.
use_rts_for_ht
=
true
,
/* use rts/cts protection */
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
.
chain_noise_num_beacons
=
IWL_CAL_NUM_BEACONS
,
};
};
...
...
drivers/net/wireless/iwlwifi/iwl-core.c
View file @
031cf0e9
...
@@ -2334,6 +2334,21 @@ static void iwl_ht_conf(struct iwl_priv *priv,
...
@@ -2334,6 +2334,21 @@ static void iwl_ht_conf(struct iwl_priv *priv,
IWL_DEBUG_MAC80211
(
priv
,
"leave
\n
"
);
IWL_DEBUG_MAC80211
(
priv
,
"leave
\n
"
);
}
}
static
inline
void
iwl_set_no_assoc
(
struct
iwl_priv
*
priv
)
{
priv
->
assoc_id
=
0
;
iwl_led_disassociate
(
priv
);
/*
* inform the ucode that there is no longer an
* association and that no more packets should be
* sent
*/
priv
->
staging_rxon
.
filter_flags
&=
~
RXON_FILTER_ASSOC_MSK
;
priv
->
staging_rxon
.
assoc_id
=
0
;
iwlcore_commit_rxon
(
priv
);
}
#define IWL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6)
#define IWL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6)
void
iwl_bss_info_changed
(
struct
ieee80211_hw
*
hw
,
void
iwl_bss_info_changed
(
struct
ieee80211_hw
*
hw
,
struct
ieee80211_vif
*
vif
,
struct
ieee80211_vif
*
vif
,
...
@@ -2465,20 +2480,8 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
...
@@ -2465,20 +2480,8 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
IWL_DELAY_NEXT_SCAN_AFTER_ASSOC
;
IWL_DELAY_NEXT_SCAN_AFTER_ASSOC
;
if
(
!
iwl_is_rfkill
(
priv
))
if
(
!
iwl_is_rfkill
(
priv
))
priv
->
cfg
->
ops
->
lib
->
post_associate
(
priv
);
priv
->
cfg
->
ops
->
lib
->
post_associate
(
priv
);
}
else
{
}
else
priv
->
assoc_id
=
0
;
iwl_set_no_assoc
(
priv
);
iwl_led_disassociate
(
priv
);
/*
* inform the ucode that there is no longer an
* association and that no more packets should be
* send
*/
priv
->
staging_rxon
.
filter_flags
&=
~
RXON_FILTER_ASSOC_MSK
;
priv
->
staging_rxon
.
assoc_id
=
0
;
iwlcore_commit_rxon
(
priv
);
}
}
}
if
(
changes
&&
iwl_is_associated
(
priv
)
&&
priv
->
assoc_id
)
{
if
(
changes
&&
iwl_is_associated
(
priv
)
&&
priv
->
assoc_id
)
{
...
@@ -2493,12 +2496,14 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
...
@@ -2493,12 +2496,14 @@ void iwl_bss_info_changed(struct ieee80211_hw *hw,
}
}
}
}
if
(
(
changes
&
BSS_CHANGED_BEACON_ENABLED
)
&&
if
(
changes
&
BSS_CHANGED_BEACON_ENABLED
)
{
vif
->
bss_conf
.
enable_beacon
)
{
if
(
vif
->
bss_conf
.
enable_beacon
)
{
memcpy
(
priv
->
staging_rxon
.
bssid_addr
,
memcpy
(
priv
->
staging_rxon
.
bssid_addr
,
bss_conf
->
bssid
,
ETH_ALEN
);
bss_conf
->
bssid
,
ETH_ALEN
);
memcpy
(
priv
->
bssid
,
bss_conf
->
bssid
,
ETH_ALEN
);
memcpy
(
priv
->
bssid
,
bss_conf
->
bssid
,
ETH_ALEN
);
iwlcore_config_ap
(
priv
);
iwlcore_config_ap
(
priv
);
}
else
iwl_set_no_assoc
(
priv
);
}
}
mutex_unlock
(
&
priv
->
mutex
);
mutex_unlock
(
&
priv
->
mutex
);
...
...
drivers/net/wireless/iwlwifi/iwl-dev.h
View file @
031cf0e9
...
@@ -712,7 +712,7 @@ extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
...
@@ -712,7 +712,7 @@ extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
extern
int
iwl_queue_space
(
const
struct
iwl_queue
*
q
);
extern
int
iwl_queue_space
(
const
struct
iwl_queue
*
q
);
static
inline
int
iwl_queue_used
(
const
struct
iwl_queue
*
q
,
int
i
)
static
inline
int
iwl_queue_used
(
const
struct
iwl_queue
*
q
,
int
i
)
{
{
return
q
->
write_ptr
>
q
->
read_ptr
?
return
q
->
write_ptr
>
=
q
->
read_ptr
?
(
i
>=
q
->
read_ptr
&&
i
<
q
->
write_ptr
)
:
(
i
>=
q
->
read_ptr
&&
i
<
q
->
write_ptr
)
:
!
(
i
<
q
->
read_ptr
&&
i
>=
q
->
write_ptr
);
!
(
i
<
q
->
read_ptr
&&
i
>=
q
->
write_ptr
);
}
}
...
...
drivers/net/wireless/iwlwifi/iwl-devtrace.c
View file @
031cf0e9
/******************************************************************************
*
* Copyright(c) 2009 - 2010 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
*
* The full GNU General Public License is included in this distribution in the
* file called LICENSE.
*
* Contact Information:
* Intel Linux Wireless <ilw@linux.intel.com>
* Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
*
*****************************************************************************/
#include <linux/module.h>
#include <linux/module.h>
/* sparse doesn't like tracepoint macros */
/* sparse doesn't like tracepoint macros */
...
...
drivers/net/wireless/iwlwifi/iwl-devtrace.h
View file @
031cf0e9
/******************************************************************************
*
* Copyright(c) 2009 - 2010 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
*
* The full GNU General Public License is included in this distribution in the
* file called LICENSE.
*
* Contact Information:
* Intel Linux Wireless <ilw@linux.intel.com>
* Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
*
*****************************************************************************/
#if !defined(__IWLWIFI_DEVICE_TRACE) || defined(TRACE_HEADER_MULTI_READ)
#if !defined(__IWLWIFI_DEVICE_TRACE) || defined(TRACE_HEADER_MULTI_READ)
#define __IWLWIFI_DEVICE_TRACE
#define __IWLWIFI_DEVICE_TRACE
...
...
drivers/net/wireless/iwmc3200wifi/commands.c
View file @
031cf0e9
...
@@ -973,6 +973,10 @@ int iwm_send_pmkid_update(struct iwm_priv *iwm,
...
@@ -973,6 +973,10 @@ int iwm_send_pmkid_update(struct iwm_priv *iwm,
memset
(
&
update
,
0
,
sizeof
(
struct
iwm_umac_pmkid_update
));
memset
(
&
update
,
0
,
sizeof
(
struct
iwm_umac_pmkid_update
));
update
.
hdr
.
oid
=
UMAC_WIFI_IF_CMD_PMKID_UPDATE
;
update
.
hdr
.
buf_size
=
cpu_to_le16
(
sizeof
(
struct
iwm_umac_pmkid_update
)
-
sizeof
(
struct
iwm_umac_wifi_if
));
update
.
command
=
cpu_to_le32
(
command
);
update
.
command
=
cpu_to_le32
(
command
);
if
(
pmksa
->
bssid
)
if
(
pmksa
->
bssid
)
memcpy
(
&
update
.
bssid
,
pmksa
->
bssid
,
ETH_ALEN
);
memcpy
(
&
update
.
bssid
,
pmksa
->
bssid
,
ETH_ALEN
);
...
...
drivers/net/wireless/iwmc3200wifi/commands.h
View file @
031cf0e9
...
@@ -463,6 +463,7 @@ struct iwm_umac_cmd_stop_resume_tx {
...
@@ -463,6 +463,7 @@ struct iwm_umac_cmd_stop_resume_tx {
#define IWM_CMD_PMKID_FLUSH 3
#define IWM_CMD_PMKID_FLUSH 3
struct
iwm_umac_pmkid_update
{
struct
iwm_umac_pmkid_update
{
struct
iwm_umac_wifi_if
hdr
;
__le32
command
;
__le32
command
;
u8
bssid
[
ETH_ALEN
];
u8
bssid
[
ETH_ALEN
];
__le16
reserved
;
__le16
reserved
;
...
...
drivers/net/wireless/p54/p54pci.c
View file @
031cf0e9
...
@@ -197,6 +197,14 @@ static void p54p_check_rx_ring(struct ieee80211_hw *dev, u32 *index,
...
@@ -197,6 +197,14 @@ static void p54p_check_rx_ring(struct ieee80211_hw *dev, u32 *index,
i
%=
ring_limit
;
i
%=
ring_limit
;
continue
;
continue
;
}
}
if
(
unlikely
(
len
>
priv
->
common
.
rx_mtu
))
{
if
(
net_ratelimit
())
dev_err
(
&
priv
->
pdev
->
dev
,
"rx'd frame size "
"exceeds length threshold.
\n
"
);
len
=
priv
->
common
.
rx_mtu
;
}
skb_put
(
skb
,
len
);
skb_put
(
skb
,
len
);
if
(
p54_rx
(
dev
,
skb
))
{
if
(
p54_rx
(
dev
,
skb
))
{
...
...
drivers/net/wireless/zd1211rw/zd_usb.c
View file @
031cf0e9
...
@@ -62,6 +62,7 @@ static struct usb_device_id usb_ids[] = {
...
@@ -62,6 +62,7 @@ static struct usb_device_id usb_ids[] = {
{
USB_DEVICE
(
0x6891
,
0xa727
),
.
driver_info
=
DEVICE_ZD1211
},
{
USB_DEVICE
(
0x6891
,
0xa727
),
.
driver_info
=
DEVICE_ZD1211
},
/* ZD1211B */
/* ZD1211B */
{
USB_DEVICE
(
0x0053
,
0x5301
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0053
,
0x5301
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0409
,
0x0248
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0411
,
0x00da
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0411
,
0x00da
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0471
,
0x1236
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0471
,
0x1236
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0471
,
0x1237
),
.
driver_info
=
DEVICE_ZD1211B
},
{
USB_DEVICE
(
0x0471
,
0x1237
),
.
driver_info
=
DEVICE_ZD1211B
},
...
...
net/mac80211/cfg.c
View file @
031cf0e9
...
@@ -1389,6 +1389,9 @@ static int ieee80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *dev,
...
@@ -1389,6 +1389,9 @@ static int ieee80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *dev,
struct
ieee80211_local
*
local
=
wdev_priv
(
dev
->
ieee80211_ptr
);
struct
ieee80211_local
*
local
=
wdev_priv
(
dev
->
ieee80211_ptr
);
struct
ieee80211_conf
*
conf
=
&
local
->
hw
.
conf
;
struct
ieee80211_conf
*
conf
=
&
local
->
hw
.
conf
;
if
(
sdata
->
vif
.
type
!=
NL80211_IFTYPE_STATION
)
return
-
EOPNOTSUPP
;
if
(
!
(
local
->
hw
.
flags
&
IEEE80211_HW_SUPPORTS_PS
))
if
(
!
(
local
->
hw
.
flags
&
IEEE80211_HW_SUPPORTS_PS
))
return
-
EOPNOTSUPP
;
return
-
EOPNOTSUPP
;
...
...
net/mac80211/iface.c
View file @
031cf0e9
...
@@ -684,21 +684,25 @@ static u16 ieee80211_monitor_select_queue(struct net_device *dev,
...
@@ -684,21 +684,25 @@ static u16 ieee80211_monitor_select_queue(struct net_device *dev,
struct
ieee80211_local
*
local
=
sdata
->
local
;
struct
ieee80211_local
*
local
=
sdata
->
local
;
struct
ieee80211_hdr
*
hdr
;
struct
ieee80211_hdr
*
hdr
;
struct
ieee80211_radiotap_header
*
rtap
=
(
void
*
)
skb
->
data
;
struct
ieee80211_radiotap_header
*
rtap
=
(
void
*
)
skb
->
data
;
u8
*
p
;
if
(
local
->
hw
.
queues
<
4
)
if
(
local
->
hw
.
queues
<
4
)
return
0
;
return
0
;
if
(
skb
->
len
<
4
||
if
(
skb
->
len
<
4
||
skb
->
len
<
rtap
->
it_len
+
2
/* frame control */
)
skb
->
len
<
le16_to_cpu
(
rtap
->
it_len
)
+
2
/* frame control */
)
return
0
;
/* doesn't matter, frame will be dropped */
return
0
;
/* doesn't matter, frame will be dropped */
hdr
=
(
void
*
)((
u8
*
)
skb
->
data
+
rtap
->
it_len
);
hdr
=
(
void
*
)((
u8
*
)
skb
->
data
+
le16_to_cpu
(
rtap
->
it_len
)
);
if
(
!
ieee80211_is_data
(
hdr
->
frame_control
))
{
if
(
!
ieee80211_is_data
_qos
(
hdr
->
frame_control
))
{
skb
->
priority
=
7
;
skb
->
priority
=
7
;
return
ieee802_1d_to_ac
[
skb
->
priority
];
return
ieee802_1d_to_ac
[
skb
->
priority
];
}
}
p
=
ieee80211_get_qos_ctl
(
hdr
);
skb
->
priority
=
*
p
&
IEEE80211_QOS_CTL_TAG1D_MASK
;
return
ieee80211_downgrade_queue
(
local
,
skb
);
return
ieee80211_downgrade_queue
(
local
,
skb
);
}
}
...
...
net/mac80211/mlme.c
View file @
031cf0e9
...
@@ -1478,7 +1478,9 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
...
@@ -1478,7 +1478,9 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
rma
=
ieee80211_rx_mgmt_disassoc
(
sdata
,
mgmt
,
skb
->
len
);
rma
=
ieee80211_rx_mgmt_disassoc
(
sdata
,
mgmt
,
skb
->
len
);
break
;
break
;
case
IEEE80211_STYPE_ACTION
:
case
IEEE80211_STYPE_ACTION
:
/* XXX: differentiate, can only happen for CSA now! */
if
(
mgmt
->
u
.
action
.
category
!=
WLAN_CATEGORY_SPECTRUM_MGMT
)
break
;
ieee80211_sta_process_chanswitch
(
sdata
,
ieee80211_sta_process_chanswitch
(
sdata
,
&
mgmt
->
u
.
action
.
u
.
chan_switch
.
sw_elem
,
&
mgmt
->
u
.
action
.
u
.
chan_switch
.
sw_elem
,
(
void
*
)
ifmgd
->
associated
->
priv
);
(
void
*
)
ifmgd
->
associated
->
priv
);
...
...
net/mac80211/rc80211_pid_algo.c
View file @
031cf0e9
...
@@ -190,7 +190,7 @@ static void rate_control_pid_sample(struct rc_pid_info *pinfo,
...
@@ -190,7 +190,7 @@ static void rate_control_pid_sample(struct rc_pid_info *pinfo,
rate_control_pid_normalize
(
pinfo
,
sband
->
n_bitrates
);
rate_control_pid_normalize
(
pinfo
,
sband
->
n_bitrates
);
/* Compute the proportional, integral and derivative errors. */
/* Compute the proportional, integral and derivative errors. */
err_prop
=
(
pinfo
->
target
<<
RC_PID_ARITH_SHIFT
)
-
pf
;
err_prop
=
(
pinfo
->
target
-
pf
)
<<
RC_PID_ARITH_SHIFT
;
err_avg
=
spinfo
->
err_avg_sc
>>
pinfo
->
smoothing_shift
;
err_avg
=
spinfo
->
err_avg_sc
>>
pinfo
->
smoothing_shift
;
spinfo
->
err_avg_sc
=
spinfo
->
err_avg_sc
-
err_avg
+
err_prop
;
spinfo
->
err_avg_sc
=
spinfo
->
err_avg_sc
-
err_avg
+
err_prop
;
...
...
net/mac80211/rx.c
View file @
031cf0e9
...
@@ -1946,6 +1946,10 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
...
@@ -1946,6 +1946,10 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
}
}
break
;
break
;
default:
default:
/* do not process rejected action frames */
if
(
mgmt
->
u
.
action
.
category
&
0x80
)
return
RX_DROP_MONITOR
;
return
RX_CONTINUE
;
return
RX_CONTINUE
;
}
}
...
...
net/wireless/core.c
View file @
031cf0e9
...
@@ -746,9 +746,9 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb,
...
@@ -746,9 +746,9 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb,
mutex_unlock
(
&
rdev
->
devlist_mtx
);
mutex_unlock
(
&
rdev
->
devlist_mtx
);
dev_put
(
dev
);
dev_put
(
dev
);
}
}
#ifdef CONFIG_CFG80211_WEXT
cfg80211_lock_rdev
(
rdev
);
cfg80211_lock_rdev
(
rdev
);
mutex_lock
(
&
rdev
->
devlist_mtx
);
mutex_lock
(
&
rdev
->
devlist_mtx
);
#ifdef CONFIG_CFG80211_WEXT
wdev_lock
(
wdev
);
wdev_lock
(
wdev
);
switch
(
wdev
->
iftype
)
{
switch
(
wdev
->
iftype
)
{
case
NL80211_IFTYPE_ADHOC
:
case
NL80211_IFTYPE_ADHOC
:
...
@@ -761,10 +761,10 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb,
...
@@ -761,10 +761,10 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb,
break
;
break
;
}
}
wdev_unlock
(
wdev
);
wdev_unlock
(
wdev
);
#endif
rdev
->
opencount
++
;
rdev
->
opencount
++
;
mutex_unlock
(
&
rdev
->
devlist_mtx
);
mutex_unlock
(
&
rdev
->
devlist_mtx
);
cfg80211_unlock_rdev
(
rdev
);
cfg80211_unlock_rdev
(
rdev
);
#endif
break
;
break
;
case
NETDEV_UNREGISTER
:
case
NETDEV_UNREGISTER
:
/*
/*
...
...
net/wireless/sme.c
View file @
031cf0e9
...
@@ -656,6 +656,7 @@ void __cfg80211_disconnected(struct net_device *dev, const u8 *ie,
...
@@ -656,6 +656,7 @@ void __cfg80211_disconnected(struct net_device *dev, const u8 *ie,
memset
(
&
wrqu
,
0
,
sizeof
(
wrqu
));
memset
(
&
wrqu
,
0
,
sizeof
(
wrqu
));
wrqu
.
ap_addr
.
sa_family
=
ARPHRD_ETHER
;
wrqu
.
ap_addr
.
sa_family
=
ARPHRD_ETHER
;
wireless_send_event
(
dev
,
SIOCGIWAP
,
&
wrqu
,
NULL
);
wireless_send_event
(
dev
,
SIOCGIWAP
,
&
wrqu
,
NULL
);
wdev
->
wext
.
connect
.
ssid_len
=
0
;
#endif
#endif
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment