Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
3100cdd8
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3100cdd8
编写于
6月 13, 2013
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-linville' of
git://github.com/kvalo/ath6kl
上级
fca97d76
37291fc6
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
41 addition
and
29 deletion
+41
-29
drivers/net/wireless/ath/ath6kl/debug.c
drivers/net/wireless/ath/ath6kl/debug.c
+1
-7
drivers/net/wireless/ath/ath6kl/init.c
drivers/net/wireless/ath/ath6kl/init.c
+7
-7
drivers/net/wireless/ath/ath6kl/sdio.c
drivers/net/wireless/ath/ath6kl/sdio.c
+6
-6
drivers/net/wireless/ath/ath6kl/usb.c
drivers/net/wireless/ath/ath6kl/usb.c
+27
-9
未找到文件。
drivers/net/wireless/ath/ath6kl/debug.c
浏览文件 @
3100cdd8
...
...
@@ -1240,20 +1240,14 @@ static ssize_t ath6kl_force_roam_write(struct file *file,
char
buf
[
20
];
size_t
len
;
u8
bssid
[
ETH_ALEN
];
int
i
;
int
addr
[
ETH_ALEN
];
len
=
min
(
count
,
sizeof
(
buf
)
-
1
);
if
(
copy_from_user
(
buf
,
user_buf
,
len
))
return
-
EFAULT
;
buf
[
len
]
=
'\0'
;
if
(
sscanf
(
buf
,
"%02x:%02x:%02x:%02x:%02x:%02x"
,
&
addr
[
0
],
&
addr
[
1
],
&
addr
[
2
],
&
addr
[
3
],
&
addr
[
4
],
&
addr
[
5
])
!=
ETH_ALEN
)
if
(
!
mac_pton
(
buf
,
bssid
))
return
-
EINVAL
;
for
(
i
=
0
;
i
<
ETH_ALEN
;
i
++
)
bssid
[
i
]
=
addr
[
i
];
ret
=
ath6kl_wmi_force_roam_cmd
(
ar
->
wmi
,
bssid
);
if
(
ret
)
...
...
drivers/net/wireless/ath/ath6kl/init.c
浏览文件 @
3100cdd8
...
...
@@ -1696,10 +1696,16 @@ static int __ath6kl_init_hw_start(struct ath6kl *ar)
test_bit
(
WMI_READY
,
&
ar
->
flag
),
WMI_TIMEOUT
);
if
(
timeleft
<=
0
)
{
clear_bit
(
WMI_READY
,
&
ar
->
flag
);
ath6kl_err
(
"wmi is not ready or wait was interrupted: %ld
\n
"
,
timeleft
);
ret
=
-
EIO
;
goto
err_htc_stop
;
}
ath6kl_dbg
(
ATH6KL_DBG_BOOT
,
"firmware booted
\n
"
);
if
(
test_and_clear_bit
(
FIRST_BOOT
,
&
ar
->
flag
))
{
ath6kl_info
(
"%s %s fw %s api %d%s
\n
"
,
ar
->
hw
.
name
,
...
...
@@ -1718,12 +1724,6 @@ static int __ath6kl_init_hw_start(struct ath6kl *ar)
goto
err_htc_stop
;
}
if
(
!
timeleft
||
signal_pending
(
current
))
{
ath6kl_err
(
"wmi is not ready or wait was interrupted
\n
"
);
ret
=
-
EIO
;
goto
err_htc_stop
;
}
ath6kl_dbg
(
ATH6KL_DBG_TRC
,
"%s: wmi is ready
\n
"
,
__func__
);
/* communicate the wmi protocol verision to the target */
...
...
drivers/net/wireless/ath/ath6kl/sdio.c
浏览文件 @
3100cdd8
...
...
@@ -345,17 +345,17 @@ static int ath6kl_sdio_alloc_prep_scat_req(struct ath6kl_sdio *ar_sdio,
{
struct
hif_scatter_req
*
s_req
;
struct
bus_request
*
bus_req
;
int
i
,
scat_req_sz
,
scat_list_sz
,
s
g_sz
,
buf_sz
;
int
i
,
scat_req_sz
,
scat_list_sz
,
s
ize
;
u8
*
virt_buf
;
scat_list_sz
=
(
n_scat_entry
-
1
)
*
sizeof
(
struct
hif_scatter_item
);
scat_req_sz
=
sizeof
(
*
s_req
)
+
scat_list_sz
;
if
(
!
virt_scat
)
s
g_sz
=
sizeof
(
struct
scatterlist
)
*
n_scat_entry
;
s
ize
=
sizeof
(
struct
scatterlist
)
*
n_scat_entry
;
else
buf_sz
=
2
*
L1_CACHE_BYTES
+
ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER
;
size
=
2
*
L1_CACHE_BYTES
+
ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER
;
for
(
i
=
0
;
i
<
n_scat_req
;
i
++
)
{
/* allocate the scatter request */
...
...
@@ -364,7 +364,7 @@ static int ath6kl_sdio_alloc_prep_scat_req(struct ath6kl_sdio *ar_sdio,
return
-
ENOMEM
;
if
(
virt_scat
)
{
virt_buf
=
kzalloc
(
buf_sz
,
GFP_KERNEL
);
virt_buf
=
kzalloc
(
size
,
GFP_KERNEL
);
if
(
!
virt_buf
)
{
kfree
(
s_req
);
return
-
ENOMEM
;
...
...
@@ -374,7 +374,7 @@ static int ath6kl_sdio_alloc_prep_scat_req(struct ath6kl_sdio *ar_sdio,
(
u8
*
)
L1_CACHE_ALIGN
((
unsigned
long
)
virt_buf
);
}
else
{
/* allocate sglist */
s_req
->
sgentries
=
kzalloc
(
s
g_sz
,
GFP_KERNEL
);
s_req
->
sgentries
=
kzalloc
(
s
ize
,
GFP_KERNEL
);
if
(
!
s_req
->
sgentries
)
{
kfree
(
s_req
);
...
...
drivers/net/wireless/ath/ath6kl/usb.c
浏览文件 @
3100cdd8
...
...
@@ -1061,6 +1061,22 @@ static void ath6kl_usb_cleanup_scatter(struct ath6kl *ar)
return
;
}
static
int
ath6kl_usb_suspend
(
struct
ath6kl
*
ar
,
struct
cfg80211_wowlan
*
wow
)
{
/*
* cfg80211 suspend/WOW currently not supported for USB.
*/
return
0
;
}
static
int
ath6kl_usb_resume
(
struct
ath6kl
*
ar
)
{
/*
* cfg80211 resume currently not supported for USB.
*/
return
0
;
}
static
const
struct
ath6kl_hif_ops
ath6kl_usb_ops
=
{
.
diag_read32
=
ath6kl_usb_diag_read32
,
.
diag_write32
=
ath6kl_usb_diag_write32
,
...
...
@@ -1074,6 +1090,8 @@ static const struct ath6kl_hif_ops ath6kl_usb_ops = {
.
pipe_map_service
=
ath6kl_usb_map_service_pipe
,
.
pipe_get_free_queue_number
=
ath6kl_usb_get_free_queue_number
,
.
cleanup_scatter
=
ath6kl_usb_cleanup_scatter
,
.
suspend
=
ath6kl_usb_suspend
,
.
resume
=
ath6kl_usb_resume
,
};
/* ath6kl usb driver registered functions */
...
...
@@ -1152,7 +1170,7 @@ static void ath6kl_usb_remove(struct usb_interface *interface)
#ifdef CONFIG_PM
static
int
ath6kl_usb_suspend
(
struct
usb_interface
*
interface
,
static
int
ath6kl_usb_
pm_
suspend
(
struct
usb_interface
*
interface
,
pm_message_t
message
)
{
struct
ath6kl_usb
*
device
;
...
...
@@ -1162,7 +1180,7 @@ static int ath6kl_usb_suspend(struct usb_interface *interface,
return
0
;
}
static
int
ath6kl_usb_resume
(
struct
usb_interface
*
interface
)
static
int
ath6kl_usb_
pm_
resume
(
struct
usb_interface
*
interface
)
{
struct
ath6kl_usb
*
device
;
device
=
usb_get_intfdata
(
interface
);
...
...
@@ -1175,7 +1193,7 @@ static int ath6kl_usb_resume(struct usb_interface *interface)
return
0
;
}
static
int
ath6kl_usb_reset_resume
(
struct
usb_interface
*
intf
)
static
int
ath6kl_usb_
pm_
reset_resume
(
struct
usb_interface
*
intf
)
{
if
(
usb_get_intfdata
(
intf
))
ath6kl_usb_remove
(
intf
);
...
...
@@ -1184,9 +1202,9 @@ static int ath6kl_usb_reset_resume(struct usb_interface *intf)
#else
#define ath6kl_usb_suspend NULL
#define ath6kl_usb_resume NULL
#define ath6kl_usb_reset_resume NULL
#define ath6kl_usb_
pm_
suspend NULL
#define ath6kl_usb_
pm_
resume NULL
#define ath6kl_usb_
pm_
reset_resume NULL
#endif
...
...
@@ -1201,9 +1219,9 @@ MODULE_DEVICE_TABLE(usb, ath6kl_usb_ids);
static
struct
usb_driver
ath6kl_usb_driver
=
{
.
name
=
"ath6kl_usb"
,
.
probe
=
ath6kl_usb_probe
,
.
suspend
=
ath6kl_usb_suspend
,
.
resume
=
ath6kl_usb_resume
,
.
reset_resume
=
ath6kl_usb_reset_resume
,
.
suspend
=
ath6kl_usb_
pm_
suspend
,
.
resume
=
ath6kl_usb_
pm_
resume
,
.
reset_resume
=
ath6kl_usb_
pm_
reset_resume
,
.
disconnect
=
ath6kl_usb_remove
,
.
id_table
=
ath6kl_usb_ids
,
.
supports_autosuspend
=
true
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录