Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
11ad2f52
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看板
提交
11ad2f52
编写于
5月 27, 2011
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
into for-davem
上级
c5c177b4
1df85ece
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
70 addition
and
27 deletion
+70
-27
drivers/net/wireless/ath/ath9k/Kconfig
drivers/net/wireless/ath/ath9k/Kconfig
+0
-1
drivers/net/wireless/ath/ath9k/ar9002_calib.c
drivers/net/wireless/ath/ath9k/ar9002_calib.c
+1
-1
drivers/net/wireless/ath/ath9k/ar9003_phy.c
drivers/net/wireless/ath/ath9k/ar9003_phy.c
+22
-0
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.c
+4
-1
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/hw.h
+2
-0
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/main.c
+3
-1
drivers/net/wireless/ath/ath9k/rc.c
drivers/net/wireless/ath/ath9k/rc.c
+2
-1
drivers/net/wireless/b43/phy_n.c
drivers/net/wireless/b43/phy_n.c
+1
-1
drivers/net/wireless/iwlegacy/iwl-4965-lib.c
drivers/net/wireless/iwlegacy/iwl-4965-lib.c
+2
-2
drivers/net/wireless/mwifiex/sdio.h
drivers/net/wireless/mwifiex/sdio.h
+2
-2
drivers/net/wireless/rt2x00/Kconfig
drivers/net/wireless/rt2x00/Kconfig
+0
-1
drivers/net/wireless/rtlwifi/pci.c
drivers/net/wireless/rtlwifi/pci.c
+22
-13
net/mac80211/mlme.c
net/mac80211/mlme.c
+7
-0
net/mac80211/scan.c
net/mac80211/scan.c
+0
-1
net/wireless/nl80211.c
net/wireless/nl80211.c
+2
-2
未找到文件。
drivers/net/wireless/ath/ath9k/Kconfig
浏览文件 @
11ad2f52
...
...
@@ -26,7 +26,6 @@ config ATH9K
config ATH9K_PCI
bool "Atheros ath9k PCI/PCIe bus support"
depends on ATH9K && PCI
default PCI
---help---
This option enables the PCI bus support in ath9k.
...
...
drivers/net/wireless/ath/ath9k/ar9002_calib.c
浏览文件 @
11ad2f52
...
...
@@ -829,7 +829,7 @@ static bool ar9002_hw_init_cal(struct ath_hw *ah, struct ath9k_channel *chan)
if
(
AR_SREV_9271
(
ah
))
{
if
(
!
ar9285_hw_cl_cal
(
ah
,
chan
))
return
false
;
}
else
if
(
AR_SREV_9285_12_OR_LATER
(
ah
))
{
}
else
if
(
AR_SREV_9285
(
ah
)
&&
AR_SREV_9285
_12_OR_LATER
(
ah
))
{
if
(
!
ar9285_hw_clc
(
ah
,
chan
))
return
false
;
}
else
{
...
...
drivers/net/wireless/ath/ath9k/ar9003_phy.c
浏览文件 @
11ad2f52
...
...
@@ -1381,3 +1381,25 @@ void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah)
"==== BB update: done ====
\n\n
"
);
}
EXPORT_SYMBOL
(
ar9003_hw_bb_watchdog_dbg_info
);
void
ar9003_hw_disable_phy_restart
(
struct
ath_hw
*
ah
)
{
u32
val
;
/* While receiving unsupported rate frame rx state machine
* gets into a state 0xb and if phy_restart happens in that
* state, BB would go hang. If RXSM is in 0xb state after
* first bb panic, ensure to disable the phy_restart.
*/
if
(
!
((
MS
(
ah
->
bb_watchdog_last_status
,
AR_PHY_WATCHDOG_RX_OFDM_SM
)
==
0xb
)
||
ah
->
bb_hang_rx_ofdm
))
return
;
ah
->
bb_hang_rx_ofdm
=
true
;
val
=
REG_READ
(
ah
,
AR_PHY_RESTART
);
val
&=
~
AR_PHY_RESTART_ENA
;
REG_WRITE
(
ah
,
AR_PHY_RESTART
,
val
);
}
EXPORT_SYMBOL
(
ar9003_hw_disable_phy_restart
);
drivers/net/wireless/ath/ath9k/hw.c
浏览文件 @
11ad2f52
...
...
@@ -1555,9 +1555,12 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
if
(
ah
->
btcoex_hw
.
enabled
)
ath9k_hw_btcoex_enable
(
ah
);
if
(
AR_SREV_9300_20_OR_LATER
(
ah
))
if
(
AR_SREV_9300_20_OR_LATER
(
ah
))
{
ar9003_hw_bb_watchdog_config
(
ah
);
ar9003_hw_disable_phy_restart
(
ah
);
}
ath9k_hw_apply_gpio_override
(
ah
);
return
0
;
...
...
drivers/net/wireless/ath/ath9k/hw.h
浏览文件 @
11ad2f52
...
...
@@ -842,6 +842,7 @@ struct ath_hw {
u32
bb_watchdog_last_status
;
u32
bb_watchdog_timeout_ms
;
/* in ms, 0 to disable */
u8
bb_hang_rx_ofdm
;
/* true if bb hang due to rx_ofdm */
unsigned
int
paprd_target_power
;
unsigned
int
paprd_training_power
;
...
...
@@ -990,6 +991,7 @@ void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah);
void
ar9003_hw_bb_watchdog_config
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_read
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_dbg_info
(
struct
ath_hw
*
ah
);
void
ar9003_hw_disable_phy_restart
(
struct
ath_hw
*
ah
);
void
ar9003_paprd_enable
(
struct
ath_hw
*
ah
,
bool
val
);
void
ar9003_paprd_populate_single_table
(
struct
ath_hw
*
ah
,
struct
ath9k_hw_cal_data
*
caldata
,
...
...
drivers/net/wireless/ath/ath9k/main.c
浏览文件 @
11ad2f52
...
...
@@ -670,7 +670,8 @@ void ath9k_tasklet(unsigned long data)
u32
status
=
sc
->
intrstatus
;
u32
rxmask
;
if
(
status
&
ATH9K_INT_FATAL
)
{
if
((
status
&
ATH9K_INT_FATAL
)
||
(
status
&
ATH9K_INT_BB_WATCHDOG
))
{
ath_reset
(
sc
,
true
);
return
;
}
...
...
@@ -737,6 +738,7 @@ irqreturn_t ath_isr(int irq, void *dev)
{
#define SCHED_INTR ( \
ATH9K_INT_FATAL | \
ATH9K_INT_BB_WATCHDOG | \
ATH9K_INT_RXORN | \
ATH9K_INT_RXEOL | \
ATH9K_INT_RX | \
...
...
drivers/net/wireless/ath/ath9k/rc.c
浏览文件 @
11ad2f52
...
...
@@ -689,7 +689,8 @@ static void ath_rc_rate_set_series(const struct ath_rate_table *rate_table,
if
(
WLAN_RC_PHY_HT
(
rate_table
->
info
[
rix
].
phy
))
{
rate
->
flags
|=
IEEE80211_TX_RC_MCS
;
if
(
WLAN_RC_PHY_40
(
rate_table
->
info
[
rix
].
phy
))
if
(
WLAN_RC_PHY_40
(
rate_table
->
info
[
rix
].
phy
)
&&
conf_is_ht40
(
&
txrc
->
hw
->
conf
))
rate
->
flags
|=
IEEE80211_TX_RC_40_MHZ_WIDTH
;
if
(
WLAN_RC_PHY_SGI
(
rate_table
->
info
[
rix
].
phy
))
rate
->
flags
|=
IEEE80211_TX_RC_SHORT_GI
;
...
...
drivers/net/wireless/b43/phy_n.c
浏览文件 @
11ad2f52
...
...
@@ -3093,7 +3093,7 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev,
int
freq
;
bool
avoid
=
false
;
u8
length
;
u16
tmp
,
core
,
type
,
count
,
max
,
numb
,
last
,
cmd
;
u16
tmp
,
core
,
type
,
count
,
max
,
numb
,
last
=
0
,
cmd
;
const
u16
*
table
;
bool
phy6or5x
;
...
...
drivers/net/wireless/iwlegacy/iwl-4965-lib.c
浏览文件 @
11ad2f52
...
...
@@ -628,11 +628,11 @@ void iwl4965_rx_reply_rx(struct iwl_priv *priv,
/* rx_status carries information about the packet to mac80211 */
rx_status
.
mactime
=
le64_to_cpu
(
phy_res
->
timestamp
);
rx_status
.
band
=
(
phy_res
->
phy_flags
&
RX_RES_PHY_FLAGS_BAND_24_MSK
)
?
IEEE80211_BAND_2GHZ
:
IEEE80211_BAND_5GHZ
;
rx_status
.
freq
=
ieee80211_channel_to_frequency
(
le16_to_cpu
(
phy_res
->
channel
),
rx_status
.
band
);
rx_status
.
band
=
(
phy_res
->
phy_flags
&
RX_RES_PHY_FLAGS_BAND_24_MSK
)
?
IEEE80211_BAND_2GHZ
:
IEEE80211_BAND_5GHZ
;
rx_status
.
rate_idx
=
iwl4965_hwrate_to_mac80211_idx
(
rate_n_flags
,
rx_status
.
band
);
rx_status
.
flag
=
0
;
...
...
drivers/net/wireless/mwifiex/sdio.h
浏览文件 @
11ad2f52
...
...
@@ -167,8 +167,8 @@
/* Rx unit register */
#define CARD_RX_UNIT_REG 0x63
/* Event header
Len
*/
#define MWIFIEX_EVENT_HEADER_LEN
8
/* Event header
len w/o 4 bytes of interface header
*/
#define MWIFIEX_EVENT_HEADER_LEN
4
/* Max retry number of CMD53 write */
#define MAX_WRITE_IOMEM_RETRY 2
...
...
drivers/net/wireless/rt2x00/Kconfig
浏览文件 @
11ad2f52
...
...
@@ -166,7 +166,6 @@ config RT2800USB_RT35XX
config RT2800USB_RT53XX
bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)"
depends on EXPERIMENTAL
default y
---help---
This adds support for rt53xx wireless chipset family to the
rt2800pci driver.
...
...
drivers/net/wireless/rtlwifi/pci.c
浏览文件 @
11ad2f52
...
...
@@ -669,11 +669,6 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
&
rx_status
,
(
u8
*
)
pdesc
,
skb
);
pci_unmap_single
(
rtlpci
->
pdev
,
*
((
dma_addr_t
*
)
skb
->
cb
),
rtlpci
->
rxbuffersize
,
PCI_DMA_FROMDEVICE
);
skb_put
(
skb
,
rtlpriv
->
cfg
->
ops
->
get_desc
((
u8
*
)
pdesc
,
false
,
HW_DESC_RXPKT_LEN
));
...
...
@@ -690,6 +685,21 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
hdr
=
rtl_get_hdr
(
skb
);
fc
=
rtl_get_fc
(
skb
);
/* try for new buffer - if allocation fails, drop
* frame and reuse old buffer
*/
new_skb
=
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
if
(
unlikely
(
!
new_skb
))
{
RT_TRACE
(
rtlpriv
,
(
COMP_INTR
|
COMP_RECV
),
DBG_DMESG
,
(
"can't alloc skb for rx
\n
"
));
goto
done
;
}
pci_unmap_single
(
rtlpci
->
pdev
,
*
((
dma_addr_t
*
)
skb
->
cb
),
rtlpci
->
rxbuffersize
,
PCI_DMA_FROMDEVICE
);
if
(
!
stats
.
crc
||
!
stats
.
hwerror
)
{
memcpy
(
IEEE80211_SKB_RXCB
(
skb
),
&
rx_status
,
sizeof
(
rx_status
));
...
...
@@ -758,15 +768,7 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
rtl_lps_leave
(
hw
);
}
new_skb
=
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
if
(
unlikely
(
!
new_skb
))
{
RT_TRACE
(
rtlpriv
,
(
COMP_INTR
|
COMP_RECV
),
DBG_DMESG
,
(
"can't alloc skb for rx
\n
"
));
goto
done
;
}
skb
=
new_skb
;
/*skb->dev = dev; */
rtlpci
->
rx_ring
[
rx_queue_idx
].
rx_buf
[
rtlpci
->
rx_ring
...
...
@@ -1113,6 +1115,13 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
rtlpci
->
rx_ring
[
rx_queue_idx
].
idx
=
0
;
/* If amsdu_8k is disabled, set buffersize to 4096. This
* change will reduce memory fragmentation.
*/
if
(
rtlpci
->
rxbuffersize
>
4096
&&
rtlpriv
->
rtlhal
.
disable_amsdu_8k
)
rtlpci
->
rxbuffersize
=
4096
;
for
(
i
=
0
;
i
<
rtlpci
->
rxringcount
;
i
++
)
{
struct
sk_buff
*
skb
=
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
...
...
net/mac80211/mlme.c
浏览文件 @
11ad2f52
...
...
@@ -232,6 +232,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
WARN_ON
(
!
ieee80211_set_channel_type
(
local
,
sdata
,
channel_type
));
}
ieee80211_stop_queues_by_reason
(
&
sdata
->
local
->
hw
,
IEEE80211_QUEUE_STOP_REASON_CSA
);
/* channel_type change automatically detected */
ieee80211_hw_config
(
local
,
0
);
...
...
@@ -245,6 +248,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
rcu_read_unlock
();
}
ieee80211_wake_queues_by_reason
(
&
sdata
->
local
->
hw
,
IEEE80211_QUEUE_STOP_REASON_CSA
);
ht_opmode
=
le16_to_cpu
(
hti
->
operation_mode
);
/* if bss configuration changed store the new one */
...
...
@@ -1089,6 +1095,7 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
local
->
hw
.
conf
.
flags
&=
~
IEEE80211_CONF_PS
;
config_changed
|=
IEEE80211_CONF_CHANGE_PS
;
}
local
->
ps_sdata
=
NULL
;
ieee80211_hw_config
(
local
,
config_changed
);
...
...
net/mac80211/scan.c
浏览文件 @
11ad2f52
...
...
@@ -15,7 +15,6 @@
#include <linux/if_arp.h>
#include <linux/rtnetlink.h>
#include <linux/pm_qos_params.h>
#include <linux/slab.h>
#include <net/sch_generic.h>
#include <linux/slab.h>
#include <net/mac80211.h>
...
...
net/wireless/nl80211.c
浏览文件 @
11ad2f52
...
...
@@ -3406,12 +3406,12 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
i
=
0
;
if
(
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
])
{
nla_for_each_nested
(
attr
,
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
],
tmp
)
{
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
if
(
request
->
ssids
[
i
].
ssid_len
>
IEEE80211_MAX_SSID_LEN
)
{
err
=
-
EINVAL
;
goto
out_free
;
}
memcpy
(
request
->
ssids
[
i
].
ssid
,
nla_data
(
attr
),
nla_len
(
attr
));
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
i
++
;
}
}
...
...
@@ -3572,6 +3572,7 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
if
(
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
])
{
nla_for_each_nested
(
attr
,
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
],
tmp
)
{
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
if
(
request
->
ssids
[
i
].
ssid_len
>
IEEE80211_MAX_SSID_LEN
)
{
err
=
-
EINVAL
;
...
...
@@ -3579,7 +3580,6 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
}
memcpy
(
request
->
ssids
[
i
].
ssid
,
nla_data
(
attr
),
nla_len
(
attr
));
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
i
++
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录