Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
596a1b74
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看板
提交
596a1b74
编写于
11月 17, 2011
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-davem' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
上级
38ff1edb
c4be3c2d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
23 addition
and
2 deletion
+23
-2
drivers/net/wireless/libertas/if_spi.c
drivers/net/wireless/libertas/if_spi.c
+1
-0
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/rt2x00/rt2800usb.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
+20
-2
未找到文件。
drivers/net/wireless/libertas/if_spi.c
浏览文件 @
596a1b74
...
...
@@ -995,6 +995,7 @@ static int if_spi_host_to_card(struct lbs_private *priv,
spin_unlock_irqrestore
(
&
card
->
buffer_lock
,
flags
);
break
;
default:
kfree
(
packet
);
netdev_err
(
priv
->
dev
,
"can't transfer buffer of type %d
\n
"
,
type
);
err
=
-
EINVAL
;
...
...
drivers/net/wireless/rt2x00/rt2800usb.c
浏览文件 @
596a1b74
...
...
@@ -919,6 +919,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
{
USB_DEVICE
(
0x050d
,
0x935b
)
},
/* Buffalo */
{
USB_DEVICE
(
0x0411
,
0x00e8
)
},
{
USB_DEVICE
(
0x0411
,
0x0158
)
},
{
USB_DEVICE
(
0x0411
,
0x016f
)
},
{
USB_DEVICE
(
0x0411
,
0x01a2
)
},
/* Corega */
...
...
drivers/net/wireless/rt2x00/rt2x00.h
浏览文件 @
596a1b74
...
...
@@ -943,6 +943,7 @@ struct rt2x00_dev {
* Powersaving work
*/
struct
delayed_work
autowakeup_work
;
struct
work_struct
sleep_work
;
/*
* Data queue arrays for RX, TX, Beacon and ATIM.
...
...
drivers/net/wireless/rt2x00/rt2x00dev.c
浏览文件 @
596a1b74
...
...
@@ -465,6 +465,23 @@ static u8 *rt2x00lib_find_ie(u8 *data, unsigned int len, u8 ie)
return
NULL
;
}
static
void
rt2x00lib_sleep
(
struct
work_struct
*
work
)
{
struct
rt2x00_dev
*
rt2x00dev
=
container_of
(
work
,
struct
rt2x00_dev
,
sleep_work
);
if
(
!
test_bit
(
DEVICE_STATE_PRESENT
,
&
rt2x00dev
->
flags
))
return
;
/*
* Check again is powersaving is enabled, to prevent races from delayed
* work execution.
*/
if
(
!
test_bit
(
CONFIG_POWERSAVING
,
&
rt2x00dev
->
flags
))
rt2x00lib_config
(
rt2x00dev
,
&
rt2x00dev
->
hw
->
conf
,
IEEE80211_CONF_CHANGE_PS
);
}
static
void
rt2x00lib_rxdone_check_ps
(
struct
rt2x00_dev
*
rt2x00dev
,
struct
sk_buff
*
skb
,
struct
rxdone_entry_desc
*
rxdesc
)
...
...
@@ -512,8 +529,7 @@ static void rt2x00lib_rxdone_check_ps(struct rt2x00_dev *rt2x00dev,
cam
|=
(
tim_ie
->
bitmap_ctrl
&
0x01
);
if
(
!
cam
&&
!
test_bit
(
CONFIG_POWERSAVING
,
&
rt2x00dev
->
flags
))
rt2x00lib_config
(
rt2x00dev
,
&
rt2x00dev
->
hw
->
conf
,
IEEE80211_CONF_CHANGE_PS
);
queue_work
(
rt2x00dev
->
workqueue
,
&
rt2x00dev
->
sleep_work
);
}
static
int
rt2x00lib_rxdone_read_signal
(
struct
rt2x00_dev
*
rt2x00dev
,
...
...
@@ -1141,6 +1157,7 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
INIT_WORK
(
&
rt2x00dev
->
intf_work
,
rt2x00lib_intf_scheduled
);
INIT_DELAYED_WORK
(
&
rt2x00dev
->
autowakeup_work
,
rt2x00lib_autowakeup
);
INIT_WORK
(
&
rt2x00dev
->
sleep_work
,
rt2x00lib_sleep
);
/*
* Let the driver probe the device to detect the capabilities.
...
...
@@ -1197,6 +1214,7 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev)
*/
cancel_work_sync
(
&
rt2x00dev
->
intf_work
);
cancel_delayed_work_sync
(
&
rt2x00dev
->
autowakeup_work
);
cancel_work_sync
(
&
rt2x00dev
->
sleep_work
);
if
(
rt2x00_is_usb
(
rt2x00dev
))
{
del_timer_sync
(
&
rt2x00dev
->
txstatus_timer
);
cancel_work_sync
(
&
rt2x00dev
->
rxdone_work
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录