Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
44dc19c8
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
44dc19c8
编写于
5月 19, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
0686caa3
229ce3ab
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
73 addition
and
18 deletion
+73
-18
drivers/net/wireless/airo.c
drivers/net/wireless/airo.c
+2
-1
drivers/net/wireless/hostap/hostap_hw.c
drivers/net/wireless/hostap/hostap_hw.c
+4
-5
drivers/net/wireless/ipw2200.c
drivers/net/wireless/ipw2200.c
+1
-0
drivers/net/wireless/libertas/main.c
drivers/net/wireless/libertas/main.c
+2
-0
include/net/mac80211.h
include/net/mac80211.h
+23
-2
net/mac80211/mlme.c
net/mac80211/mlme.c
+5
-9
net/mac80211/util.c
net/mac80211/util.c
+36
-1
未找到文件。
drivers/net/wireless/airo.c
浏览文件 @
44dc19c8
...
...
@@ -2668,6 +2668,7 @@ static struct net_device *init_wifidev(struct airo_info *ai,
dev
->
irq
=
ethdev
->
irq
;
dev
->
base_addr
=
ethdev
->
base_addr
;
dev
->
wireless_data
=
ethdev
->
wireless_data
;
SET_NETDEV_DEV
(
dev
,
ethdev
->
dev
.
parent
);
memcpy
(
dev
->
dev_addr
,
ethdev
->
dev_addr
,
dev
->
addr_len
);
err
=
register_netdev
(
dev
);
if
(
err
<
0
)
{
...
...
@@ -2904,7 +2905,7 @@ EXPORT_SYMBOL(init_airo_card);
static
int
waitbusy
(
struct
airo_info
*
ai
)
{
int
delay
=
0
;
while
((
IN4500
(
ai
,
COMMAND
)
&
COMMAND_BUSY
)
&
(
delay
<
10000
))
{
while
((
IN4500
(
ai
,
COMMAND
)
&
COMMAND_BUSY
)
&
&
(
delay
<
10000
))
{
udelay
(
10
);
if
((
++
delay
%
20
)
==
0
)
OUT4500
(
ai
,
EVACK
,
EV_CLEARCOMMANDBUSY
);
...
...
drivers/net/wireless/hostap/hostap_hw.c
浏览文件 @
44dc19c8
...
...
@@ -3276,11 +3276,6 @@ while (0)
}
printk
(
KERN_INFO
"%s: Registered netdevice %s
\n
"
,
dev_info
,
dev
->
name
);
#ifndef PRISM2_NO_PROCFS_DEBUG
create_proc_read_entry
(
"registers"
,
0
,
local
->
proc
,
prism2_registers_proc_read
,
local
);
#endif
/* PRISM2_NO_PROCFS_DEBUG */
hostap_init_data
(
local
);
return
dev
;
...
...
@@ -3307,6 +3302,10 @@ static int hostap_hw_ready(struct net_device *dev)
netif_carrier_off
(
local
->
ddev
);
}
hostap_init_proc
(
local
);
#ifndef PRISM2_NO_PROCFS_DEBUG
create_proc_read_entry
(
"registers"
,
0
,
local
->
proc
,
prism2_registers_proc_read
,
local
);
#endif
/* PRISM2_NO_PROCFS_DEBUG */
hostap_init_ap_proc
(
local
);
return
0
;
}
...
...
drivers/net/wireless/ipw2200.c
浏览文件 @
44dc19c8
...
...
@@ -11584,6 +11584,7 @@ static int ipw_prom_alloc(struct ipw_priv *priv)
priv
->
prom_net_dev
->
hard_start_xmit
=
ipw_prom_hard_start_xmit
;
priv
->
prom_priv
->
ieee
->
iw_mode
=
IW_MODE_MONITOR
;
SET_NETDEV_DEV
(
priv
->
prom_net_dev
,
&
priv
->
pci_dev
->
dev
);
rc
=
register_netdev
(
priv
->
prom_net_dev
);
if
(
rc
)
{
...
...
drivers/net/wireless/libertas/main.c
浏览文件 @
44dc19c8
...
...
@@ -756,6 +756,7 @@ static int lbs_thread(void *data)
priv
->
nr_retries
=
0
;
}
else
{
priv
->
cur_cmd
=
NULL
;
priv
->
dnld_sent
=
DNLD_RES_RECEIVED
;
lbs_pr_info
(
"requeueing command %x due to timeout (#%d)
\n
"
,
le16_to_cpu
(
cmdnode
->
cmdbuf
->
command
),
priv
->
nr_retries
);
...
...
@@ -1564,6 +1565,7 @@ static int lbs_add_rtap(struct lbs_private *priv)
rtap_dev
->
hard_start_xmit
=
lbs_rtap_hard_start_xmit
;
rtap_dev
->
set_multicast_list
=
lbs_set_multicast_list
;
rtap_dev
->
priv
=
priv
;
SET_NETDEV_DEV
(
rtap_dev
,
priv
->
dev
->
dev
.
parent
);
ret
=
register_netdev
(
rtap_dev
);
if
(
ret
)
{
...
...
include/net/mac80211.h
浏览文件 @
44dc19c8
...
...
@@ -1594,13 +1594,16 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw);
void
ieee80211_scan_completed
(
struct
ieee80211_hw
*
hw
);
/**
* ieee80211_iterate_active_interfaces
- iterate active interfaces
* ieee80211_iterate_active_interfaces- iterate active interfaces
*
* This function iterates over the interfaces associated with a given
* hardware that are currently active and calls the callback for them.
* This function allows the iterator function to sleep, when the iterator
* function is atomic @ieee80211_iterate_active_interfaces_atomic can
* be used.
*
* @hw: the hardware struct of which the interfaces should be iterated over
* @iterator: the iterator function to call
, cannot sleep
* @iterator: the iterator function to call
* @data: first argument of the iterator function
*/
void
ieee80211_iterate_active_interfaces
(
struct
ieee80211_hw
*
hw
,
...
...
@@ -1608,6 +1611,24 @@ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw,
struct
ieee80211_vif
*
vif
),
void
*
data
);
/**
* ieee80211_iterate_active_interfaces_atomic - iterate active interfaces
*
* This function iterates over the interfaces associated with a given
* hardware that are currently active and calls the callback for them.
* This function requires the iterator callback function to be atomic,
* if that is not desired, use @ieee80211_iterate_active_interfaces instead.
*
* @hw: the hardware struct of which the interfaces should be iterated over
* @iterator: the iterator function to call, cannot sleep
* @data: first argument of the iterator function
*/
void
ieee80211_iterate_active_interfaces_atomic
(
struct
ieee80211_hw
*
hw
,
void
(
*
iterator
)(
void
*
data
,
u8
*
mac
,
struct
ieee80211_vif
*
vif
),
void
*
data
);
/**
* ieee80211_start_tx_ba_session - Start a tx Block Ack session.
* @hw: pointer as obtained from ieee80211_alloc_hw().
...
...
net/mac80211/mlme.c
浏览文件 @
44dc19c8
...
...
@@ -3446,21 +3446,17 @@ static int ieee80211_sta_config_auth(struct net_device *dev,
struct
ieee80211_sta_bss
*
bss
,
*
selected
=
NULL
;
int
top_rssi
=
0
,
freq
;
if
(
!
(
ifsta
->
flags
&
(
IEEE80211_STA_AUTO_SSID_SEL
|
IEEE80211_STA_AUTO_BSSID_SEL
|
IEEE80211_STA_AUTO_CHANNEL_SEL
)))
{
ifsta
->
state
=
IEEE80211_AUTHENTICATE
;
ieee80211_sta_reset_auth
(
dev
,
ifsta
);
return
0
;
}
spin_lock_bh
(
&
local
->
sta_bss_lock
);
freq
=
local
->
oper_channel
->
center_freq
;
list_for_each_entry
(
bss
,
&
local
->
sta_bss_list
,
list
)
{
if
(
!
(
bss
->
capability
&
WLAN_CAPABILITY_ESS
))
continue
;
if
(
!!
(
bss
->
capability
&
WLAN_CAPABILITY_PRIVACY
)
^
!!
sdata
->
default_key
)
if
((
ifsta
->
flags
&
(
IEEE80211_STA_AUTO_SSID_SEL
|
IEEE80211_STA_AUTO_BSSID_SEL
|
IEEE80211_STA_AUTO_CHANNEL_SEL
))
&&
(
!!
(
bss
->
capability
&
WLAN_CAPABILITY_PRIVACY
)
^
!!
sdata
->
default_key
))
continue
;
if
(
!
(
ifsta
->
flags
&
IEEE80211_STA_AUTO_CHANNEL_SEL
)
&&
...
...
net/mac80211/util.c
浏览文件 @
44dc19c8
...
...
@@ -389,6 +389,41 @@ void ieee80211_iterate_active_interfaces(
struct
ieee80211_local
*
local
=
hw_to_local
(
hw
);
struct
ieee80211_sub_if_data
*
sdata
;
rtnl_lock
();
list_for_each_entry
(
sdata
,
&
local
->
interfaces
,
list
)
{
switch
(
sdata
->
vif
.
type
)
{
case
IEEE80211_IF_TYPE_INVALID
:
case
IEEE80211_IF_TYPE_MNTR
:
case
IEEE80211_IF_TYPE_VLAN
:
continue
;
case
IEEE80211_IF_TYPE_AP
:
case
IEEE80211_IF_TYPE_STA
:
case
IEEE80211_IF_TYPE_IBSS
:
case
IEEE80211_IF_TYPE_WDS
:
case
IEEE80211_IF_TYPE_MESH_POINT
:
break
;
}
if
(
sdata
->
dev
==
local
->
mdev
)
continue
;
if
(
netif_running
(
sdata
->
dev
))
iterator
(
data
,
sdata
->
dev
->
dev_addr
,
&
sdata
->
vif
);
}
rtnl_unlock
();
}
EXPORT_SYMBOL_GPL
(
ieee80211_iterate_active_interfaces
);
void
ieee80211_iterate_active_interfaces_atomic
(
struct
ieee80211_hw
*
hw
,
void
(
*
iterator
)(
void
*
data
,
u8
*
mac
,
struct
ieee80211_vif
*
vif
),
void
*
data
)
{
struct
ieee80211_local
*
local
=
hw_to_local
(
hw
);
struct
ieee80211_sub_if_data
*
sdata
;
rcu_read_lock
();
list_for_each_entry_rcu
(
sdata
,
&
local
->
interfaces
,
list
)
{
...
...
@@ -413,4 +448,4 @@ void ieee80211_iterate_active_interfaces(
rcu_read_unlock
();
}
EXPORT_SYMBOL_GPL
(
ieee80211_iterate_active_interfaces
);
EXPORT_SYMBOL_GPL
(
ieee80211_iterate_active_interfaces
_atomic
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录