Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
75e58071
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
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看板
提交
75e58071
编写于
5月 16, 2014
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-linville' of
git://github.com/kvalo/ath
上级
5f407acb
d9bc4b9b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
3 deletion
+39
-3
drivers/net/wireless/ath/ath10k/core.c
drivers/net/wireless/ath/ath10k/core.c
+4
-2
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath10k/mac.c
+16
-0
drivers/net/wireless/ath/ath10k/pci.c
drivers/net/wireless/ath/ath10k/pci.c
+17
-1
drivers/net/wireless/ath/ath10k/wmi.c
drivers/net/wireless/ath/ath10k/wmi.c
+2
-0
未找到文件。
drivers/net/wireless/ath/ath10k/core.c
浏览文件 @
75e58071
...
...
@@ -680,8 +680,8 @@ static void ath10k_core_restart(struct work_struct *work)
switch
(
ar
->
state
)
{
case
ATH10K_STATE_ON
:
ath10k_halt
(
ar
);
ar
->
state
=
ATH10K_STATE_RESTARTING
;
ath10k_halt
(
ar
);
ieee80211_restart_hw
(
ar
->
hw
);
break
;
case
ATH10K_STATE_OFF
:
...
...
@@ -908,7 +908,9 @@ void ath10k_core_stop(struct ath10k *ar)
lockdep_assert_held
(
&
ar
->
conf_mutex
);
/* try to suspend target */
ath10k_wait_for_suspend
(
ar
,
WMI_PDEV_SUSPEND_AND_DISABLE_INTR
);
if
(
ar
->
state
!=
ATH10K_STATE_RESTARTING
)
ath10k_wait_for_suspend
(
ar
,
WMI_PDEV_SUSPEND_AND_DISABLE_INTR
);
ath10k_debug_stop
(
ar
);
ath10k_htc_stop
(
&
ar
->
htc
);
ath10k_htt_detach
(
&
ar
->
htt
);
...
...
drivers/net/wireless/ath/ath10k/mac.c
浏览文件 @
75e58071
...
...
@@ -2291,6 +2291,8 @@ static void ath10k_tx(struct ieee80211_hw *hw,
*/
void
ath10k_halt
(
struct
ath10k
*
ar
)
{
struct
ath10k_vif
*
arvif
;
lockdep_assert_held
(
&
ar
->
conf_mutex
);
if
(
ath10k_monitor_is_enabled
(
ar
))
{
...
...
@@ -2313,6 +2315,17 @@ void ath10k_halt(struct ath10k *ar)
ar
->
scan
.
in_progress
=
false
;
ieee80211_scan_completed
(
ar
->
hw
,
true
);
}
list_for_each_entry
(
arvif
,
&
ar
->
arvifs
,
list
)
{
if
(
!
arvif
->
beacon
)
continue
;
dma_unmap_single
(
arvif
->
ar
->
dev
,
ATH10K_SKB_CB
(
arvif
->
beacon
)
->
paddr
,
arvif
->
beacon
->
len
,
DMA_TO_DEVICE
);
dev_kfree_skb_any
(
arvif
->
beacon
);
arvif
->
beacon
=
NULL
;
}
spin_unlock_bh
(
&
ar
->
data_lock
);
}
...
...
@@ -2771,6 +2784,9 @@ static void ath10k_remove_interface(struct ieee80211_hw *hw,
spin_lock_bh
(
&
ar
->
data_lock
);
if
(
arvif
->
beacon
)
{
dma_unmap_single
(
arvif
->
ar
->
dev
,
ATH10K_SKB_CB
(
arvif
->
beacon
)
->
paddr
,
arvif
->
beacon
->
len
,
DMA_TO_DEVICE
);
dev_kfree_skb_any
(
arvif
->
beacon
);
arvif
->
beacon
=
NULL
;
}
...
...
drivers/net/wireless/ath/ath10k/pci.c
浏览文件 @
75e58071
...
...
@@ -2452,6 +2452,10 @@ static int ath10k_pci_wait_for_target_init(struct ath10k *ar)
if
(
val
==
0xffffffff
)
continue
;
/* the device has crashed so don't bother trying anymore */
if
(
val
&
FW_IND_EVENT_PENDING
)
break
;
if
(
val
&
FW_IND_INITIALIZED
)
break
;
...
...
@@ -2464,7 +2468,19 @@ static int ath10k_pci_wait_for_target_init(struct ath10k *ar)
mdelay
(
10
);
}
while
(
time_before
(
jiffies
,
timeout
));
if
(
val
==
0xffffffff
||
!
(
val
&
FW_IND_INITIALIZED
))
{
if
(
val
==
0xffffffff
)
{
ath10k_err
(
"failed to read device register, device is gone
\n
"
);
ret
=
-
EIO
;
goto
out
;
}
if
(
val
&
FW_IND_EVENT_PENDING
)
{
ath10k_warn
(
"device has crashed during init
\n
"
);
ret
=
-
ECOMM
;
goto
out
;
}
if
(
!
(
val
&
FW_IND_INITIALIZED
))
{
ath10k_err
(
"failed to receive initialized event from target: %08x
\n
"
,
val
);
ret
=
-
ETIMEDOUT
;
...
...
drivers/net/wireless/ath/ath10k/wmi.c
浏览文件 @
75e58071
...
...
@@ -1431,6 +1431,7 @@ static void ath10k_wmi_event_host_swba(struct ath10k *ar, struct sk_buff *skb)
ATH10K_SKB_CB
(
arvif
->
beacon
)
->
paddr
,
arvif
->
beacon
->
len
,
DMA_TO_DEVICE
);
dev_kfree_skb_any
(
arvif
->
beacon
);
arvif
->
beacon
=
NULL
;
}
ATH10K_SKB_CB
(
bcn
)
->
paddr
=
dma_map_single
(
arvif
->
ar
->
dev
,
...
...
@@ -1440,6 +1441,7 @@ static void ath10k_wmi_event_host_swba(struct ath10k *ar, struct sk_buff *skb)
ATH10K_SKB_CB
(
bcn
)
->
paddr
);
if
(
ret
)
{
ath10k_warn
(
"failed to map beacon: %d
\n
"
,
ret
);
dev_kfree_skb_any
(
bcn
);
goto
skip
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录