Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
eca4c3d2
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
eca4c3d2
编写于
8月 03, 2009
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
f6caa14a
99f1b015
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
42 addition
and
14 deletion
+42
-14
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.c
+3
-0
drivers/net/wireless/iwlwifi/iwl-debugfs.c
drivers/net/wireless/iwlwifi/iwl-debugfs.c
+6
-6
drivers/net/wireless/iwlwifi/iwl-sta.c
drivers/net/wireless/iwlwifi/iwl-sta.c
+12
-0
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
+3
-0
drivers/net/wireless/iwmc3200wifi/commands.c
drivers/net/wireless/iwmc3200wifi/commands.c
+1
-0
drivers/net/wireless/libertas/11d.c
drivers/net/wireless/libertas/11d.c
+1
-1
drivers/net/wireless/zd1211rw/zd_mac.c
drivers/net/wireless/zd1211rw/zd_mac.c
+1
-1
include/net/cfg80211.h
include/net/cfg80211.h
+5
-0
net/wireless/reg.c
net/wireless/reg.c
+5
-4
net/wireless/reg.h
net/wireless/reg.h
+2
-1
net/wireless/scan.c
net/wireless/scan.c
+3
-1
未找到文件。
drivers/net/wireless/iwlwifi/iwl-core.c
浏览文件 @
eca4c3d2
...
...
@@ -1332,6 +1332,9 @@ int iwl_setup_mac(struct iwl_priv *priv)
hw
->
wiphy
->
custom_regulatory
=
true
;
/* Firmware does not support this */
hw
->
wiphy
->
disable_beacon_hints
=
true
;
hw
->
wiphy
->
max_scan_ssids
=
PROBE_OPTION_MAX
;
/* we create the 802.11 header and a zero-length SSID element */
hw
->
wiphy
->
max_scan_ie_len
=
IWL_MAX_PROBE_REQUEST
-
24
-
2
;
...
...
drivers/net/wireless/iwlwifi/iwl-debugfs.c
浏览文件 @
eca4c3d2
...
...
@@ -308,18 +308,18 @@ static ssize_t iwl_dbgfs_nvm_read(struct file *file,
return
-
ENODATA
;
}
ptr
=
priv
->
eeprom
;
if
(
!
ptr
)
{
IWL_ERR
(
priv
,
"Invalid EEPROM/OTP memory
\n
"
);
return
-
ENOMEM
;
}
/* 4 characters for byte 0xYY */
buf
=
kzalloc
(
buf_size
,
GFP_KERNEL
);
if
(
!
buf
)
{
IWL_ERR
(
priv
,
"Can not allocate Buffer
\n
"
);
return
-
ENOMEM
;
}
ptr
=
priv
->
eeprom
;
if
(
!
ptr
)
{
IWL_ERR
(
priv
,
"Invalid EEPROM/OTP memory
\n
"
);
return
-
ENOMEM
;
}
pos
+=
scnprintf
(
buf
+
pos
,
buf_size
-
pos
,
"NVM Type: %s
\n
"
,
(
priv
->
nvm_device_type
==
NVM_DEVICE_TYPE_OTP
)
?
"OTP"
:
"EEPROM"
);
...
...
drivers/net/wireless/iwlwifi/iwl-sta.c
浏览文件 @
eca4c3d2
...
...
@@ -566,6 +566,8 @@ int iwl_remove_default_wep_key(struct iwl_priv *priv,
unsigned
long
flags
;
spin_lock_irqsave
(
&
priv
->
sta_lock
,
flags
);
IWL_DEBUG_WEP
(
priv
,
"Removing default WEP key: idx=%d
\n
"
,
keyconf
->
keyidx
);
if
(
!
test_and_clear_bit
(
keyconf
->
keyidx
,
&
priv
->
ucode_key_table
))
IWL_ERR
(
priv
,
"index %d not used in uCode key table.
\n
"
,
...
...
@@ -573,6 +575,11 @@ int iwl_remove_default_wep_key(struct iwl_priv *priv,
priv
->
default_wep_key
--
;
memset
(
&
priv
->
wep_keys
[
keyconf
->
keyidx
],
0
,
sizeof
(
priv
->
wep_keys
[
0
]));
if
(
iwl_is_rfkill
(
priv
))
{
IWL_DEBUG_WEP
(
priv
,
"Not sending REPLY_WEPKEY command due to RFKILL.
\n
"
);
spin_unlock_irqrestore
(
&
priv
->
sta_lock
,
flags
);
return
0
;
}
ret
=
iwl_send_static_wepkey_cmd
(
priv
,
1
);
IWL_DEBUG_WEP
(
priv
,
"Remove default WEP key: idx=%d ret=%d
\n
"
,
keyconf
->
keyidx
,
ret
);
...
...
@@ -853,6 +860,11 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv,
priv
->
stations
[
sta_id
].
sta
.
sta
.
modify_mask
=
STA_MODIFY_KEY_MASK
;
priv
->
stations
[
sta_id
].
sta
.
mode
=
STA_CONTROL_MODIFY_MSK
;
if
(
iwl_is_rfkill
(
priv
))
{
IWL_DEBUG_WEP
(
priv
,
"Not sending REPLY_ADD_STA command because RFKILL enabled.
\n
"
);
spin_unlock_irqrestore
(
&
priv
->
sta_lock
,
flags
);
return
0
;
}
ret
=
iwl_send_add_sta
(
priv
,
&
priv
->
stations
[
sta_id
].
sta
,
CMD_ASYNC
);
spin_unlock_irqrestore
(
&
priv
->
sta_lock
,
flags
);
return
ret
;
...
...
drivers/net/wireless/iwlwifi/iwl3945-base.c
浏览文件 @
eca4c3d2
...
...
@@ -3968,6 +3968,9 @@ static int iwl3945_setup_mac(struct iwl_priv *priv)
hw
->
wiphy
->
custom_regulatory
=
true
;
/* Firmware does not support this */
hw
->
wiphy
->
disable_beacon_hints
=
true
;
hw
->
wiphy
->
max_scan_ssids
=
PROBE_OPTION_MAX_3945
;
/* we create the 802.11 header and a zero-length SSID element */
hw
->
wiphy
->
max_scan_ie_len
=
IWL_MAX_PROBE_REQUEST
-
24
-
2
;
...
...
drivers/net/wireless/iwmc3200wifi/commands.c
浏览文件 @
eca4c3d2
...
...
@@ -220,6 +220,7 @@ int iwm_store_rxiq_calib_result(struct iwm_priv *iwm)
eeprom_rxiq
=
iwm_eeprom_access
(
iwm
,
IWM_EEPROM_CALIB_RXIQ
);
if
(
IS_ERR
(
eeprom_rxiq
))
{
IWM_ERR
(
iwm
,
"Couldn't access EEPROM RX IQ entry
\n
"
);
kfree
(
rxiq
);
return
PTR_ERR
(
eeprom_rxiq
);
}
...
...
drivers/net/wireless/libertas/11d.c
浏览文件 @
eca4c3d2
...
...
@@ -47,7 +47,7 @@ static u8 lbs_region_2_code(u8 *region)
{
u8
i
;
for
(
i
=
0
;
region
[
i
]
&&
i
<
COUNTRY_CODE_LEN
;
i
++
)
for
(
i
=
0
;
i
<
COUNTRY_CODE_LEN
&&
region
[
i
]
;
i
++
)
region
[
i
]
=
toupper
(
region
[
i
]);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
region_code_mapping
);
i
++
)
{
...
...
drivers/net/wireless/zd1211rw/zd_mac.c
浏览文件 @
eca4c3d2
...
...
@@ -698,7 +698,7 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length)
&&
!
mac
->
pass_ctrl
)
return
0
;
fc
=
*
(
__le16
*
)
buffer
;
fc
=
get_unaligned
((
__le16
*
)
buffer
)
;
need_padding
=
ieee80211_is_data_qos
(
fc
)
^
ieee80211_has_a4
(
fc
);
skb
=
dev_alloc_skb
(
length
+
(
need_padding
?
2
:
0
));
...
...
include/net/cfg80211.h
浏览文件 @
eca4c3d2
...
...
@@ -979,6 +979,10 @@ struct cfg80211_ops {
* channels at a later time. This can be used for devices which do not
* have calibration information gauranteed for frequencies or settings
* outside of its regulatory domain.
* @disable_beacon_hints: enable this if your driver needs to ensure that
* passive scan flags and beaconing flags may not be lifted by cfg80211
* due to regulatory beacon hints. For more information on beacon
* hints read the documenation for regulatory_hint_found_beacon()
* @reg_notifier: the driver's regulatory notification callback
* @regd: the driver's regulatory domain, if one was requested via
* the regulatory_hint() API. This can be used by the driver
...
...
@@ -1004,6 +1008,7 @@ struct wiphy {
bool
custom_regulatory
;
bool
strict_regulatory
;
bool
disable_beacon_hints
;
enum
cfg80211_signal_type
signal_type
;
...
...
net/wireless/reg.c
浏览文件 @
eca4c3d2
...
...
@@ -1089,17 +1089,18 @@ static void handle_reg_beacon(struct wiphy *wiphy,
chan
->
beacon_found
=
true
;
if
(
wiphy
->
disable_beacon_hints
)
return
;
chan_before
.
center_freq
=
chan
->
center_freq
;
chan_before
.
flags
=
chan
->
flags
;
if
((
chan
->
flags
&
IEEE80211_CHAN_PASSIVE_SCAN
)
&&
!
(
chan
->
orig_flags
&
IEEE80211_CHAN_PASSIVE_SCAN
))
{
if
(
chan
->
flags
&
IEEE80211_CHAN_PASSIVE_SCAN
)
{
chan
->
flags
&=
~
IEEE80211_CHAN_PASSIVE_SCAN
;
channel_changed
=
true
;
}
if
((
chan
->
flags
&
IEEE80211_CHAN_NO_IBSS
)
&&
!
(
chan
->
orig_flags
&
IEEE80211_CHAN_NO_IBSS
))
{
if
(
chan
->
flags
&
IEEE80211_CHAN_NO_IBSS
)
{
chan
->
flags
&=
~
IEEE80211_CHAN_NO_IBSS
;
channel_changed
=
true
;
}
...
...
net/wireless/reg.h
浏览文件 @
eca4c3d2
...
...
@@ -30,7 +30,8 @@ int set_regdom(const struct ieee80211_regdomain *rd);
* non-radar 5 GHz channels.
*
* Drivers do not need to call this, cfg80211 will do it for after a scan
* on a newly found BSS.
* on a newly found BSS. If you cannot make use of this feature you can
* set the wiphy->disable_beacon_hints to true.
*/
int
regulatory_hint_found_beacon
(
struct
wiphy
*
wiphy
,
struct
ieee80211_channel
*
beacon_chan
,
...
...
net/wireless/scan.c
浏览文件 @
eca4c3d2
...
...
@@ -118,7 +118,7 @@ static int cmp_ies(u8 num, u8 *ies1, size_t len1, u8 *ies2, size_t len2)
if
(
!
ie1
&&
!
ie2
)
return
0
;
if
(
!
ie1
)
if
(
!
ie1
||
!
ie2
)
return
-
1
;
r
=
memcmp
(
ie1
+
2
,
ie2
+
2
,
min
(
ie1
[
1
],
ie2
[
1
]));
...
...
@@ -171,6 +171,8 @@ static bool is_mesh(struct cfg80211_bss *a,
ie
=
find_ie
(
WLAN_EID_MESH_CONFIG
,
a
->
information_elements
,
a
->
len_information_elements
);
if
(
!
ie
)
return
false
;
if
(
ie
[
1
]
!=
IEEE80211_MESH_CONFIG_LEN
)
return
false
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录