Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
ed9ed3b8
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
ed9ed3b8
编写于
6月 27, 2011
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'wireless-2.6' of
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6
上级
9935d126
e815407d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
17 deletion
+13
-17
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.c
+2
-1
drivers/net/wireless/iwlwifi/iwl-tx.c
drivers/net/wireless/iwlwifi/iwl-tx.c
+11
-16
未找到文件。
drivers/net/wireless/iwlwifi/iwl-core.c
浏览文件 @
ed9ed3b8
...
...
@@ -1763,6 +1763,7 @@ int iwl_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct
iwl_rxon_context
*
ctx
=
iwl_rxon_ctx_from_vif
(
vif
);
struct
iwl_rxon_context
*
bss_ctx
=
&
priv
->
contexts
[
IWL_RXON_CTX_BSS
];
struct
iwl_rxon_context
*
tmp
;
enum
nl80211_iftype
newviftype
=
newtype
;
u32
interface_modes
;
int
err
;
...
...
@@ -1818,7 +1819,7 @@ int iwl_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
/* success */
iwl_teardown_interface
(
priv
,
vif
,
true
);
vif
->
type
=
newtype
;
vif
->
type
=
new
vif
type
;
vif
->
p2p
=
newp2p
;
err
=
iwl_setup_interface
(
priv
,
ctx
);
WARN_ON
(
err
);
...
...
drivers/net/wireless/iwlwifi/iwl-tx.c
浏览文件 @
ed9ed3b8
...
...
@@ -126,7 +126,7 @@ static inline u8 iwl_tfd_get_num_tbs(struct iwl_tfd *tfd)
}
static
void
iwlagn_unmap_tfd
(
struct
iwl_priv
*
priv
,
struct
iwl_cmd_meta
*
meta
,
struct
iwl_tfd
*
tfd
)
struct
iwl_tfd
*
tfd
,
enum
dma_data_direction
dma_dir
)
{
struct
pci_dev
*
dev
=
priv
->
pci_dev
;
int
i
;
...
...
@@ -151,7 +151,7 @@ static void iwlagn_unmap_tfd(struct iwl_priv *priv, struct iwl_cmd_meta *meta,
/* Unmap chunks, if any. */
for
(
i
=
1
;
i
<
num_tbs
;
i
++
)
pci_unmap_single
(
dev
,
iwl_tfd_tb_get_addr
(
tfd
,
i
),
iwl_tfd_tb_get_len
(
tfd
,
i
),
PCI_DMA_TODEVICE
);
iwl_tfd_tb_get_len
(
tfd
,
i
),
dma_dir
);
}
/**
...
...
@@ -167,7 +167,8 @@ void iwlagn_txq_free_tfd(struct iwl_priv *priv, struct iwl_tx_queue *txq)
struct
iwl_tfd
*
tfd_tmp
=
txq
->
tfds
;
int
index
=
txq
->
q
.
read_ptr
;
iwlagn_unmap_tfd
(
priv
,
&
txq
->
meta
[
index
],
&
tfd_tmp
[
index
]);
iwlagn_unmap_tfd
(
priv
,
&
txq
->
meta
[
index
],
&
tfd_tmp
[
index
],
DMA_TO_DEVICE
);
/* free SKB */
if
(
txq
->
txb
)
{
...
...
@@ -310,10 +311,8 @@ void iwl_cmd_queue_unmap(struct iwl_priv *priv)
i
=
get_cmd_index
(
q
,
q
->
read_ptr
);
if
(
txq
->
meta
[
i
].
flags
&
CMD_MAPPED
)
{
pci_unmap_single
(
priv
->
pci_dev
,
dma_unmap_addr
(
&
txq
->
meta
[
i
],
mapping
),
dma_unmap_len
(
&
txq
->
meta
[
i
],
len
),
PCI_DMA_BIDIRECTIONAL
);
iwlagn_unmap_tfd
(
priv
,
&
txq
->
meta
[
i
],
&
txq
->
tfds
[
i
],
DMA_BIDIRECTIONAL
);
txq
->
meta
[
i
].
flags
=
0
;
}
...
...
@@ -535,12 +534,7 @@ int iwl_tx_queue_init(struct iwl_priv *priv, struct iwl_tx_queue *txq,
void
iwl_tx_queue_reset
(
struct
iwl_priv
*
priv
,
struct
iwl_tx_queue
*
txq
,
int
slots_num
,
u32
txq_id
)
{
int
actual_slots
=
slots_num
;
if
(
txq_id
==
priv
->
cmd_queue
)
actual_slots
++
;
memset
(
txq
->
meta
,
0
,
sizeof
(
struct
iwl_cmd_meta
)
*
actual_slots
);
memset
(
txq
->
meta
,
0
,
sizeof
(
struct
iwl_cmd_meta
)
*
slots_num
);
txq
->
need_update
=
0
;
...
...
@@ -700,10 +694,11 @@ int iwl_enqueue_hcmd(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
if
(
!
(
cmd
->
dataflags
[
i
]
&
IWL_HCMD_DFL_NOCOPY
))
continue
;
phys_addr
=
pci_map_single
(
priv
->
pci_dev
,
(
void
*
)
cmd
->
data
[
i
],
cmd
->
len
[
i
],
PCI_DMA_TODEVICE
);
cmd
->
len
[
i
],
DMA_BIDIRECTIONAL
);
if
(
pci_dma_mapping_error
(
priv
->
pci_dev
,
phys_addr
))
{
iwlagn_unmap_tfd
(
priv
,
out_meta
,
&
txq
->
tfds
[
q
->
write_ptr
]);
&
txq
->
tfds
[
q
->
write_ptr
],
DMA_BIDIRECTIONAL
);
idx
=
-
ENOMEM
;
goto
out
;
}
...
...
@@ -807,7 +802,7 @@ void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
cmd
=
txq
->
cmd
[
cmd_index
];
meta
=
&
txq
->
meta
[
cmd_index
];
iwlagn_unmap_tfd
(
priv
,
meta
,
&
txq
->
tfds
[
index
]);
iwlagn_unmap_tfd
(
priv
,
meta
,
&
txq
->
tfds
[
index
]
,
DMA_BIDIRECTIONAL
);
/* Input error checking is done when commands are added to queue. */
if
(
meta
->
flags
&
CMD_WANT_SKB
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录