Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
a80f509f
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看板
提交
a80f509f
编写于
2月 03, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fixes' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
246f19d1
04a9e451
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
69 addition
and
33 deletion
+69
-33
drivers/net/wireless/ath5k/base.c
drivers/net/wireless/ath5k/base.c
+3
-3
drivers/net/wireless/iwlwifi/iwl-3945.c
drivers/net/wireless/iwlwifi/iwl-3945.c
+4
-3
drivers/net/wireless/iwlwifi/iwl-4965.c
drivers/net/wireless/iwlwifi/iwl-4965.c
+18
-5
drivers/net/wireless/iwlwifi/iwl-helpers.h
drivers/net/wireless/iwlwifi/iwl-helpers.h
+0
-3
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
+5
-5
drivers/net/wireless/iwlwifi/iwl4965-base.c
drivers/net/wireless/iwlwifi/iwl4965-base.c
+5
-5
include/linux/ieee80211.h
include/linux/ieee80211.h
+6
-0
net/mac80211/Kconfig
net/mac80211/Kconfig
+12
-0
net/mac80211/ieee80211.c
net/mac80211/ieee80211.c
+7
-7
net/mac80211/rc80211_pid_algo.c
net/mac80211/rc80211_pid_algo.c
+1
-1
net/mac80211/rc80211_simple.c
net/mac80211/rc80211_simple.c
+1
-1
net/mac80211/rx.c
net/mac80211/rx.c
+7
-0
未找到文件。
drivers/net/wireless/ath5k/base.c
浏览文件 @
a80f509f
...
...
@@ -153,7 +153,7 @@ static int ath5k_pci_resume(struct pci_dev *pdev);
#define ath5k_pci_resume NULL
#endif
/* CONFIG_PM */
static
struct
pci_driver
ath5k_pci_dr
v_id
=
{
static
struct
pci_driver
ath5k_pci_dr
iver
=
{
.
name
=
"ath5k_pci"
,
.
id_table
=
ath5k_pci_id_table
,
.
probe
=
ath5k_pci_probe
,
...
...
@@ -329,7 +329,7 @@ init_ath5k_pci(void)
ath5k_debug_init
();
ret
=
pci_register_driver
(
&
ath5k_pci_dr
v_id
);
ret
=
pci_register_driver
(
&
ath5k_pci_dr
iver
);
if
(
ret
)
{
printk
(
KERN_ERR
"ath5k_pci: can't register pci driver
\n
"
);
return
ret
;
...
...
@@ -341,7 +341,7 @@ init_ath5k_pci(void)
static
void
__exit
exit_ath5k_pci
(
void
)
{
pci_unregister_driver
(
&
ath5k_pci_dr
v_id
);
pci_unregister_driver
(
&
ath5k_pci_dr
iver
);
ath5k_debug_finish
();
}
...
...
drivers/net/wireless/iwlwifi/iwl-3945.c
浏览文件 @
a80f509f
...
...
@@ -238,9 +238,10 @@ void iwl3945_hw_rx_statistics(struct iwl3945_priv *priv, struct iwl3945_rx_mem_b
priv
->
last_statistics_time
=
jiffies
;
}
void
iwl3945_add_radiotap
(
struct
iwl3945_priv
*
priv
,
struct
sk_buff
*
skb
,
struct
iwl3945_rx_frame_hdr
*
rx_hdr
,
struct
ieee80211_rx_status
*
stats
)
static
void
iwl3945_add_radiotap
(
struct
iwl3945_priv
*
priv
,
struct
sk_buff
*
skb
,
struct
iwl3945_rx_frame_hdr
*
rx_hdr
,
struct
ieee80211_rx_status
*
stats
)
{
/* First cache any information we need before we overwrite
* the information provided in the skb from the hardware */
...
...
drivers/net/wireless/iwlwifi/iwl-4965.c
浏览文件 @
a80f509f
...
...
@@ -4658,17 +4658,30 @@ void iwl4965_set_ht_add_station(struct iwl4965_priv *priv, u8 index,
struct
ieee80211_ht_info
*
sta_ht_inf
)
{
__le32
sta_flags
;
u8
mimo_ps_mode
;
if
(
!
sta_ht_inf
||
!
sta_ht_inf
->
ht_supported
)
goto
done
;
mimo_ps_mode
=
(
sta_ht_inf
->
cap
&
IEEE80211_HT_CAP_MIMO_PS
)
>>
2
;
sta_flags
=
priv
->
stations
[
index
].
sta
.
station_flags
;
if
(((
sta_ht_inf
->
cap
&
IEEE80211_HT_CAP_MIMO_PS
>>
2
))
==
IWL_MIMO_PS_DYNAMIC
)
sta_flags
&=
~
(
STA_FLG_RTS_MIMO_PROT_MSK
|
STA_FLG_MIMO_DIS_MSK
);
switch
(
mimo_ps_mode
)
{
case
WLAN_HT_CAP_MIMO_PS_STATIC
:
sta_flags
|=
STA_FLG_MIMO_DIS_MSK
;
break
;
case
WLAN_HT_CAP_MIMO_PS_DYNAMIC
:
sta_flags
|=
STA_FLG_RTS_MIMO_PROT_MSK
;
else
sta_flags
&=
~
STA_FLG_RTS_MIMO_PROT_MSK
;
break
;
case
WLAN_HT_CAP_MIMO_PS_DISABLED
:
break
;
default:
IWL_WARNING
(
"Invalid MIMO PS mode %d"
,
mimo_ps_mode
);
break
;
}
sta_flags
|=
cpu_to_le32
(
(
u32
)
sta_ht_inf
->
ampdu_factor
<<
STA_FLG_MAX_AGG_SIZE_POS
);
...
...
@@ -4679,7 +4692,7 @@ void iwl4965_set_ht_add_station(struct iwl4965_priv *priv, u8 index,
if
(
iwl4965_is_fat_tx_allowed
(
priv
,
sta_ht_inf
))
sta_flags
|=
STA_FLG_FAT_EN_MSK
;
else
sta_flags
&=
(
~
STA_FLG_FAT_EN_MSK
)
;
sta_flags
&=
~
STA_FLG_FAT_EN_MSK
;
priv
->
stations
[
index
].
sta
.
station_flags
=
sta_flags
;
done:
...
...
drivers/net/wireless/iwlwifi/iwl-helpers.h
浏览文件 @
a80f509f
...
...
@@ -147,9 +147,6 @@ static inline struct ieee80211_conf *ieee80211_get_hw_conf(
#define QOS_CONTROL_LEN 2
#define IEEE80211_STYPE_BACK_REQ 0x0080
#define IEEE80211_STYPE_BACK 0x0090
static
inline
int
ieee80211_is_management
(
u16
fc
)
{
...
...
drivers/net/wireless/iwlwifi/iwl3945-base.c
浏览文件 @
a80f509f
...
...
@@ -6330,6 +6330,11 @@ static int __iwl3945_up(struct iwl3945_priv *priv)
return
-
ENODEV
;
}
if
(
!
priv
->
ucode_data_backup
.
v_addr
||
!
priv
->
ucode_data
.
v_addr
)
{
IWL_ERROR
(
"ucode not available for device bringup
\n
"
);
return
-
EIO
;
}
/* If platform's RF_KILL switch is NOT set to KILL */
if
(
iwl3945_read32
(
priv
,
CSR_GP_CNTRL
)
&
CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW
)
...
...
@@ -6342,11 +6347,6 @@ static int __iwl3945_up(struct iwl3945_priv *priv)
}
}
if
(
!
priv
->
ucode_data_backup
.
v_addr
||
!
priv
->
ucode_data
.
v_addr
)
{
IWL_ERROR
(
"ucode not available for device bringup
\n
"
);
return
-
EIO
;
}
iwl3945_write32
(
priv
,
CSR_INT
,
0xFFFFFFFF
);
rc
=
iwl3945_hw_nic_init
(
priv
);
...
...
drivers/net/wireless/iwlwifi/iwl4965-base.c
浏览文件 @
a80f509f
...
...
@@ -6755,6 +6755,11 @@ static int __iwl4965_up(struct iwl4965_priv *priv)
return
-
ENODEV
;
}
if
(
!
priv
->
ucode_data_backup
.
v_addr
||
!
priv
->
ucode_data
.
v_addr
)
{
IWL_ERROR
(
"ucode not available for device bringup
\n
"
);
return
-
EIO
;
}
/* If platform's RF_KILL switch is NOT set to KILL */
if
(
iwl4965_read32
(
priv
,
CSR_GP_CNTRL
)
&
CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW
)
...
...
@@ -6767,11 +6772,6 @@ static int __iwl4965_up(struct iwl4965_priv *priv)
}
}
if
(
!
priv
->
ucode_data_backup
.
v_addr
||
!
priv
->
ucode_data
.
v_addr
)
{
IWL_ERROR
(
"ucode not available for device bringup
\n
"
);
return
-
EIO
;
}
iwl4965_write32
(
priv
,
CSR_INT
,
0xFFFFFFFF
);
rc
=
iwl4965_hw_nic_init
(
priv
);
...
...
include/linux/ieee80211.h
浏览文件 @
a80f509f
...
...
@@ -287,6 +287,12 @@ struct ieee80211_ht_addt_info {
#define IEEE80211_HT_IE_NON_GF_STA_PRSNT 0x0004
#define IEEE80211_HT_IE_NON_HT_STA_PRSNT 0x0010
/* MIMO Power Save Modes */
#define WLAN_HT_CAP_MIMO_PS_STATIC 0
#define WLAN_HT_CAP_MIMO_PS_DYNAMIC 1
#define WLAN_HT_CAP_MIMO_PS_INVALID 2
#define WLAN_HT_CAP_MIMO_PS_DISABLED 3
/* Authentication algorithms */
#define WLAN_AUTH_OPEN 0
#define WLAN_AUTH_SHARED_KEY 1
...
...
net/mac80211/Kconfig
浏览文件 @
a80f509f
...
...
@@ -98,6 +98,18 @@ config MAC80211_DEBUGFS
Say N unless you know you need this.
config MAC80211_DEBUG_PACKET_ALIGNMENT
bool "Enable packet alignment debugging"
depends on MAC80211
help
This option is recommended for driver authors and strongly
discouraged for everybody else, it will trigger a warning
when a driver hands mac80211 a buffer that is aligned in
a way that will cause problems with the IP stack on some
architectures.
Say N unless you're writing a mac80211 based driver.
config MAC80211_DEBUG
bool "Enable debugging output"
depends on MAC80211
...
...
net/mac80211/ieee80211.c
浏览文件 @
a80f509f
...
...
@@ -1344,17 +1344,17 @@ static int __init ieee80211_init(void)
ret
=
rc80211_simple_init
();
if
(
ret
)
goto
fail
;
goto
out
;
ret
=
rc80211_pid_init
();
if
(
ret
)
goto
fail
_simple
;
goto
out_cleanup
_simple
;
ret
=
ieee80211_wme_register
();
if
(
ret
)
{
printk
(
KERN_DEBUG
"ieee80211_init: failed to "
"initialize WME (err=%d)
\n
"
,
ret
);
goto
fail
_pid
;
goto
out_cleanup
_pid
;
}
ieee80211_debugfs_netdev_init
();
...
...
@@ -1362,11 +1362,11 @@ static int __init ieee80211_init(void)
return
0
;
fail_pid:
rc80211_simple_exit
();
fail_simple:
out_cleanup_pid:
rc80211_pid_exit
();
fail:
out_cleanup_simple:
rc80211_simple_exit
();
out:
return
ret
;
}
...
...
net/mac80211/rc80211_pid_algo.c
浏览文件 @
a80f509f
...
...
@@ -538,7 +538,7 @@ int __init rc80211_pid_init(void)
return
ieee80211_rate_control_register
(
&
mac80211_rcpid
);
}
void
__exit
rc80211_pid_exit
(
void
)
void
rc80211_pid_exit
(
void
)
{
ieee80211_rate_control_unregister
(
&
mac80211_rcpid
);
}
...
...
net/mac80211/rc80211_simple.c
浏览文件 @
a80f509f
...
...
@@ -389,7 +389,7 @@ int __init rc80211_simple_init(void)
return
ieee80211_rate_control_register
(
&
mac80211_rcsimple
);
}
void
__exit
rc80211_simple_exit
(
void
)
void
rc80211_simple_exit
(
void
)
{
ieee80211_rate_control_unregister
(
&
mac80211_rcsimple
);
}
...
...
net/mac80211/rx.c
浏览文件 @
a80f509f
...
...
@@ -340,11 +340,15 @@ static u32 ieee80211_rx_load_stats(struct ieee80211_local *local,
return
load
;
}
#ifdef CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT
static
ieee80211_txrx_result
ieee80211_rx_h_verify_ip_alignment
(
struct
ieee80211_txrx_data
*
rx
)
{
int
hdrlen
;
if
(
!
WLAN_FC_DATA_PRESENT
(
rx
->
fc
))
return
TXRX_CONTINUE
;
/*
* Drivers are required to align the payload data in a way that
* guarantees that the contained IP header is aligned to a four-
...
...
@@ -371,11 +375,14 @@ ieee80211_rx_h_verify_ip_alignment(struct ieee80211_txrx_data *rx)
return
TXRX_CONTINUE
;
}
#endif
ieee80211_rx_handler
ieee80211_rx_pre_handlers
[]
=
{
ieee80211_rx_h_parse_qos
,
#ifdef CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT
ieee80211_rx_h_verify_ip_alignment
,
#endif
NULL
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录