Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
b7e03ec9
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
提交
b7e03ec9
编写于
12月 22, 2010
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
762e3023
b51aff05
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
36 addition
and
9 deletion
+36
-9
drivers/net/wireless/hostap/hostap_main.c
drivers/net/wireless/hostap/hostap_main.c
+0
-1
drivers/net/wireless/rt2x00/rt2800pci.c
drivers/net/wireless/rt2x00/rt2800pci.c
+1
-0
drivers/net/wireless/rt2x00/rt2x00.h
drivers/net/wireless/rt2x00/rt2x00.h
+1
-0
drivers/net/wireless/rt2x00/rt2x00dev.c
drivers/net/wireless/rt2x00/rt2x00dev.c
+6
-3
include/net/mac80211.h
include/net/mac80211.h
+24
-4
net/mac80211/rx.c
net/mac80211/rx.c
+4
-1
未找到文件。
drivers/net/wireless/hostap/hostap_main.c
浏览文件 @
b7e03ec9
...
...
@@ -891,7 +891,6 @@ void hostap_setup_dev(struct net_device *dev, local_info_t *local,
SET_ETHTOOL_OPS
(
dev
,
&
prism2_ethtool_ops
);
netif_stop_queue
(
dev
);
}
static
int
hostap_enable_hostapd
(
local_info_t
*
local
,
int
rtnl_locked
)
...
...
drivers/net/wireless/rt2x00/rt2800pci.c
浏览文件 @
b7e03ec9
...
...
@@ -912,6 +912,7 @@ static int rt2800pci_probe_hw(struct rt2x00_dev *rt2x00dev)
__set_bit
(
DRIVER_REQUIRE_DMA
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_REQUIRE_L2PAD
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_REQUIRE_TXSTATUS_FIFO
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_REQUIRE_TASKLET_CONTEXT
,
&
rt2x00dev
->
flags
);
if
(
!
modparam_nohwcrypt
)
__set_bit
(
CONFIG_SUPPORT_HW_CRYPTO
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_SUPPORT_LINK_TUNING
,
&
rt2x00dev
->
flags
);
...
...
drivers/net/wireless/rt2x00/rt2x00.h
浏览文件 @
b7e03ec9
...
...
@@ -664,6 +664,7 @@ enum rt2x00_flags {
DRIVER_REQUIRE_COPY_IV
,
DRIVER_REQUIRE_L2PAD
,
DRIVER_REQUIRE_TXSTATUS_FIFO
,
DRIVER_REQUIRE_TASKLET_CONTEXT
,
/*
* Driver features
...
...
drivers/net/wireless/rt2x00/rt2x00dev.c
浏览文件 @
b7e03ec9
...
...
@@ -390,9 +390,12 @@ void rt2x00lib_txdone(struct queue_entry *entry,
* through a mac80211 library call (RTS/CTS) then we should not
* send the status report back.
*/
if
(
!
(
skbdesc_flags
&
SKBDESC_NOT_MAC80211
))
ieee80211_tx_status
(
rt2x00dev
->
hw
,
entry
->
skb
);
else
if
(
!
(
skbdesc_flags
&
SKBDESC_NOT_MAC80211
))
{
if
(
test_bit
(
DRIVER_REQUIRE_TASKLET_CONTEXT
,
&
rt2x00dev
->
flags
))
ieee80211_tx_status
(
rt2x00dev
->
hw
,
entry
->
skb
);
else
ieee80211_tx_status_ni
(
rt2x00dev
->
hw
,
entry
->
skb
);
}
else
dev_kfree_skb_any
(
entry
->
skb
);
/*
...
...
include/net/mac80211.h
浏览文件 @
b7e03ec9
...
...
@@ -2024,8 +2024,8 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw,
*
* This function may not be called in IRQ context. Calls to this function
* for a single hardware must be synchronized against each other. Calls
* to this function
and ieee80211_tx_status_irqsafe() may not be mixed
* for a single hardware.
* to this function
, ieee80211_tx_status_ni() and ieee80211_tx_status_irqsafe()
*
may not be mixed
for a single hardware.
*
* @hw: the hardware the frame was transmitted by
* @skb: the frame that was transmitted, owned by mac80211 after this call
...
...
@@ -2033,14 +2033,34 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw,
void
ieee80211_tx_status
(
struct
ieee80211_hw
*
hw
,
struct
sk_buff
*
skb
);
/**
* ieee80211_tx_status_ni - transmit status callback (in process context)
*
* Like ieee80211_tx_status() but can be called in process context.
*
* Calls to this function, ieee80211_tx_status() and
* ieee80211_tx_status_irqsafe() may not be mixed
* for a single hardware.
*
* @hw: the hardware the frame was transmitted by
* @skb: the frame that was transmitted, owned by mac80211 after this call
*/
static
inline
void
ieee80211_tx_status_ni
(
struct
ieee80211_hw
*
hw
,
struct
sk_buff
*
skb
)
{
local_bh_disable
();
ieee80211_tx_status
(
hw
,
skb
);
local_bh_enable
();
}
/**
* ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback
*
* Like ieee80211_tx_status() but can be called in IRQ context
* (internally defers to a tasklet.)
*
* Calls to this function
and ieee80211_tx_status() may not be mixed for a
* single hardware.
* Calls to this function
, ieee80211_tx_status() and
*
ieee80211_tx_status_ni() may not be mixed for a
single hardware.
*
* @hw: the hardware the frame was transmitted by
* @skb: the frame that was transmitted, owned by mac80211 after this call
...
...
net/mac80211/rx.c
浏览文件 @
b7e03ec9
...
...
@@ -1788,9 +1788,11 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
fwd_skb
=
skb_copy
(
skb
,
GFP_ATOMIC
);
if
(
!
fwd_skb
&&
net_ratelimit
())
if
(
!
fwd_skb
&&
net_ratelimit
())
{
printk
(
KERN_DEBUG
"%s: failed to clone mesh frame
\n
"
,
sdata
->
name
);
goto
out
;
}
fwd_hdr
=
(
struct
ieee80211_hdr
*
)
fwd_skb
->
data
;
memcpy
(
fwd_hdr
->
addr2
,
sdata
->
vif
.
addr
,
ETH_ALEN
);
...
...
@@ -1828,6 +1830,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
}
}
out:
if
(
is_multicast_ether_addr
(
hdr
->
addr1
)
||
sdata
->
dev
->
flags
&
IFF_PROMISC
)
return
RX_CONTINUE
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录