Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
775d8d93
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看板
提交
775d8d93
编写于
4月 20, 2009
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
62cedd11
7e0986c1
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
107 addition
and
70 deletion
+107
-70
drivers/net/wireless/ar9170/usb.c
drivers/net/wireless/ar9170/usb.c
+90
-20
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
+1
-1
drivers/net/wireless/mwl8k.c
drivers/net/wireless/mwl8k.c
+2
-2
drivers/net/wireless/p54/p54common.c
drivers/net/wireless/p54/p54common.c
+0
-2
drivers/net/wireless/rt2x00/rt2x00pci.c
drivers/net/wireless/rt2x00/rt2x00pci.c
+1
-17
drivers/net/wireless/rt2x00/rt2x00usb.c
drivers/net/wireless/rt2x00/rt2x00usb.c
+1
-17
net/mac80211/Kconfig
net/mac80211/Kconfig
+0
-7
net/mac80211/mlme.c
net/mac80211/mlme.c
+10
-2
net/wireless/nl80211.c
net/wireless/nl80211.c
+2
-2
未找到文件。
drivers/net/wireless/ar9170/usb.c
浏览文件 @
775d8d93
...
@@ -623,6 +623,39 @@ static int ar9170_usb_open(struct ar9170 *ar)
...
@@ -623,6 +623,39 @@ static int ar9170_usb_open(struct ar9170 *ar)
return
0
;
return
0
;
}
}
static
int
ar9170_usb_init_device
(
struct
ar9170_usb
*
aru
)
{
int
err
;
err
=
ar9170_usb_alloc_rx_irq_urb
(
aru
);
if
(
err
)
goto
err_out
;
err
=
ar9170_usb_alloc_rx_bulk_urbs
(
aru
);
if
(
err
)
goto
err_unrx
;
err
=
ar9170_usb_upload_firmware
(
aru
);
if
(
err
)
{
err
=
ar9170_echo_test
(
&
aru
->
common
,
0x60d43110
);
if
(
err
)
{
/* force user invention, by disabling the device */
err
=
usb_driver_set_configuration
(
aru
->
udev
,
-
1
);
dev_err
(
&
aru
->
udev
->
dev
,
"device is in a bad state. "
"please reconnect it!
\n
"
);
goto
err_unrx
;
}
}
return
0
;
err_unrx:
ar9170_usb_cancel_urbs
(
aru
);
err_out:
return
err
;
}
static
int
ar9170_usb_probe
(
struct
usb_interface
*
intf
,
static
int
ar9170_usb_probe
(
struct
usb_interface
*
intf
,
const
struct
usb_device_id
*
id
)
const
struct
usb_device_id
*
id
)
{
{
...
@@ -658,32 +691,16 @@ static int ar9170_usb_probe(struct usb_interface *intf,
...
@@ -658,32 +691,16 @@ static int ar9170_usb_probe(struct usb_interface *intf,
err
=
ar9170_usb_reset
(
aru
);
err
=
ar9170_usb_reset
(
aru
);
if
(
err
)
if
(
err
)
goto
err_
unlock
;
goto
err_
freehw
;
err
=
ar9170_usb_request_firmware
(
aru
);
err
=
ar9170_usb_request_firmware
(
aru
);
if
(
err
)
if
(
err
)
goto
err_
unlock
;
goto
err_
freehw
;
err
=
ar9170_usb_
alloc_rx_irq_urb
(
aru
);
err
=
ar9170_usb_
init_device
(
aru
);
if
(
err
)
if
(
err
)
goto
err_freefw
;
goto
err_freefw
;
err
=
ar9170_usb_alloc_rx_bulk_urbs
(
aru
);
if
(
err
)
goto
err_unrx
;
err
=
ar9170_usb_upload_firmware
(
aru
);
if
(
err
)
{
err
=
ar9170_echo_test
(
&
aru
->
common
,
0x60d43110
);
if
(
err
)
{
/* force user invention, by disabling the device */
err
=
usb_driver_set_configuration
(
aru
->
udev
,
-
1
);
dev_err
(
&
aru
->
udev
->
dev
,
"device is in a bad state. "
"please reconnect it!
\n
"
);
goto
err_unrx
;
}
}
err
=
ar9170_usb_open
(
ar
);
err
=
ar9170_usb_open
(
ar
);
if
(
err
)
if
(
err
)
goto
err_unrx
;
goto
err_unrx
;
...
@@ -703,7 +720,7 @@ static int ar9170_usb_probe(struct usb_interface *intf,
...
@@ -703,7 +720,7 @@ static int ar9170_usb_probe(struct usb_interface *intf,
release_firmware
(
aru
->
init_values
);
release_firmware
(
aru
->
init_values
);
release_firmware
(
aru
->
firmware
);
release_firmware
(
aru
->
firmware
);
err_
unlock
:
err_
freehw
:
usb_set_intfdata
(
intf
,
NULL
);
usb_set_intfdata
(
intf
,
NULL
);
usb_put_dev
(
udev
);
usb_put_dev
(
udev
);
ieee80211_free_hw
(
ar
->
hw
);
ieee80211_free_hw
(
ar
->
hw
);
...
@@ -730,12 +747,65 @@ static void ar9170_usb_disconnect(struct usb_interface *intf)
...
@@ -730,12 +747,65 @@ static void ar9170_usb_disconnect(struct usb_interface *intf)
ieee80211_free_hw
(
aru
->
common
.
hw
);
ieee80211_free_hw
(
aru
->
common
.
hw
);
}
}
#ifdef CONFIG_PM
static
int
ar9170_suspend
(
struct
usb_interface
*
intf
,
pm_message_t
message
)
{
struct
ar9170_usb
*
aru
=
usb_get_intfdata
(
intf
);
if
(
!
aru
)
return
-
ENODEV
;
aru
->
common
.
state
=
AR9170_IDLE
;
ar9170_usb_cancel_urbs
(
aru
);
return
0
;
}
static
int
ar9170_resume
(
struct
usb_interface
*
intf
)
{
struct
ar9170_usb
*
aru
=
usb_get_intfdata
(
intf
);
int
err
;
if
(
!
aru
)
return
-
ENODEV
;
usb_unpoison_anchored_urbs
(
&
aru
->
rx_submitted
);
usb_unpoison_anchored_urbs
(
&
aru
->
tx_submitted
);
/*
* FIXME: firmware upload will fail on resume.
* but this is better than a hang!
*/
err
=
ar9170_usb_init_device
(
aru
);
if
(
err
)
goto
err_unrx
;
err
=
ar9170_usb_open
(
&
aru
->
common
);
if
(
err
)
goto
err_unrx
;
return
0
;
err_unrx:
aru
->
common
.
state
=
AR9170_IDLE
;
ar9170_usb_cancel_urbs
(
aru
);
return
err
;
}
#endif
/* CONFIG_PM */
static
struct
usb_driver
ar9170_driver
=
{
static
struct
usb_driver
ar9170_driver
=
{
.
name
=
"ar9170usb"
,
.
name
=
"ar9170usb"
,
.
probe
=
ar9170_usb_probe
,
.
probe
=
ar9170_usb_probe
,
.
disconnect
=
ar9170_usb_disconnect
,
.
disconnect
=
ar9170_usb_disconnect
,
.
id_table
=
ar9170_usb_ids
,
.
id_table
=
ar9170_usb_ids
,
.
soft_unbind
=
1
,
.
soft_unbind
=
1
,
#ifdef CONFIG_PM
.
suspend
=
ar9170_suspend
,
.
resume
=
ar9170_resume
,
#endif
/* CONFIG_PM */
};
};
static
int
__init
ar9170_init
(
void
)
static
int
__init
ar9170_init
(
void
)
...
...
drivers/net/wireless/iwlwifi/iwl3945-base.c
浏览文件 @
775d8d93
...
@@ -4075,7 +4075,7 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
...
@@ -4075,7 +4075,7 @@ static int iwl3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
if
(
!
static_key
)
{
if
(
!
static_key
)
{
sta_id
=
iwl3945_hw_find_station
(
priv
,
addr
);
sta_id
=
iwl3945_hw_find_station
(
priv
,
addr
);
if
(
sta_id
==
IWL_INVALID_STATION
)
{
if
(
sta_id
==
IWL_INVALID_STATION
)
{
IWL_DEBUG_MAC80211
(
priv
,
"leave - %pMnot in station map.
\n
"
,
IWL_DEBUG_MAC80211
(
priv
,
"leave - %pM
not in station map.
\n
"
,
addr
);
addr
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
...
...
drivers/net/wireless/mwl8k.c
浏览文件 @
775d8d93
...
@@ -3720,12 +3720,12 @@ static int __devinit mwl8k_probe(struct pci_dev *pdev,
...
@@ -3720,12 +3720,12 @@ static int __devinit mwl8k_probe(struct pci_dev *pdev,
return
rc
;
return
rc
;
}
}
static
void
__devexit
mwl8k_
remove
(
struct
pci_dev
*
pdev
)
static
void
__devexit
mwl8k_
shutdown
(
struct
pci_dev
*
pdev
)
{
{
printk
(
KERN_ERR
"===>%s(%u)
\n
"
,
__func__
,
__LINE__
);
printk
(
KERN_ERR
"===>%s(%u)
\n
"
,
__func__
,
__LINE__
);
}
}
static
void
__devexit
mwl8k_
shutdown
(
struct
pci_dev
*
pdev
)
static
void
__devexit
mwl8k_
remove
(
struct
pci_dev
*
pdev
)
{
{
struct
ieee80211_hw
*
hw
=
pci_get_drvdata
(
pdev
);
struct
ieee80211_hw
*
hw
=
pci_get_drvdata
(
pdev
);
struct
mwl8k_priv
*
priv
;
struct
mwl8k_priv
*
priv
;
...
...
drivers/net/wireless/p54/p54common.c
浏览文件 @
775d8d93
...
@@ -2543,8 +2543,6 @@ struct ieee80211_hw *p54_init_common(size_t priv_data_len)
...
@@ -2543,8 +2543,6 @@ struct ieee80211_hw *p54_init_common(size_t priv_data_len)
priv
->
basic_rate_mask
=
0x15f
;
priv
->
basic_rate_mask
=
0x15f
;
skb_queue_head_init
(
&
priv
->
tx_queue
);
skb_queue_head_init
(
&
priv
->
tx_queue
);
dev
->
flags
=
IEEE80211_HW_RX_INCLUDES_FCS
|
dev
->
flags
=
IEEE80211_HW_RX_INCLUDES_FCS
|
IEEE80211_HW_SUPPORTS_PS
|
IEEE80211_HW_PS_NULLFUNC_STACK
|
IEEE80211_HW_SIGNAL_DBM
|
IEEE80211_HW_SIGNAL_DBM
|
IEEE80211_HW_NOISE_DBM
;
IEEE80211_HW_NOISE_DBM
;
...
...
drivers/net/wireless/rt2x00/rt2x00pci.c
浏览文件 @
775d8d93
...
@@ -369,8 +369,6 @@ int rt2x00pci_suspend(struct pci_dev *pci_dev, pm_message_t state)
...
@@ -369,8 +369,6 @@ int rt2x00pci_suspend(struct pci_dev *pci_dev, pm_message_t state)
if
(
retval
)
if
(
retval
)
return
retval
;
return
retval
;
rt2x00pci_free_reg
(
rt2x00dev
);
pci_save_state
(
pci_dev
);
pci_save_state
(
pci_dev
);
pci_disable_device
(
pci_dev
);
pci_disable_device
(
pci_dev
);
return
pci_set_power_state
(
pci_dev
,
pci_choose_state
(
pci_dev
,
state
));
return
pci_set_power_state
(
pci_dev
,
pci_choose_state
(
pci_dev
,
state
));
...
@@ -381,7 +379,6 @@ int rt2x00pci_resume(struct pci_dev *pci_dev)
...
@@ -381,7 +379,6 @@ int rt2x00pci_resume(struct pci_dev *pci_dev)
{
{
struct
ieee80211_hw
*
hw
=
pci_get_drvdata
(
pci_dev
);
struct
ieee80211_hw
*
hw
=
pci_get_drvdata
(
pci_dev
);
struct
rt2x00_dev
*
rt2x00dev
=
hw
->
priv
;
struct
rt2x00_dev
*
rt2x00dev
=
hw
->
priv
;
int
retval
;
if
(
pci_set_power_state
(
pci_dev
,
PCI_D0
)
||
if
(
pci_set_power_state
(
pci_dev
,
PCI_D0
)
||
pci_enable_device
(
pci_dev
)
||
pci_enable_device
(
pci_dev
)
||
...
@@ -390,20 +387,7 @@ int rt2x00pci_resume(struct pci_dev *pci_dev)
...
@@ -390,20 +387,7 @@ int rt2x00pci_resume(struct pci_dev *pci_dev)
return
-
EIO
;
return
-
EIO
;
}
}
retval
=
rt2x00pci_alloc_reg
(
rt2x00dev
);
return
rt2x00lib_resume
(
rt2x00dev
);
if
(
retval
)
return
retval
;
retval
=
rt2x00lib_resume
(
rt2x00dev
);
if
(
retval
)
goto
exit_free_reg
;
return
0
;
exit_free_reg:
rt2x00pci_free_reg
(
rt2x00dev
);
return
retval
;
}
}
EXPORT_SYMBOL_GPL
(
rt2x00pci_resume
);
EXPORT_SYMBOL_GPL
(
rt2x00pci_resume
);
#endif
/* CONFIG_PM */
#endif
/* CONFIG_PM */
...
...
drivers/net/wireless/rt2x00/rt2x00usb.c
浏览文件 @
775d8d93
...
@@ -702,8 +702,6 @@ int rt2x00usb_suspend(struct usb_interface *usb_intf, pm_message_t state)
...
@@ -702,8 +702,6 @@ int rt2x00usb_suspend(struct usb_interface *usb_intf, pm_message_t state)
if
(
retval
)
if
(
retval
)
return
retval
;
return
retval
;
rt2x00usb_free_reg
(
rt2x00dev
);
/*
/*
* Decrease usbdev refcount.
* Decrease usbdev refcount.
*/
*/
...
@@ -717,24 +715,10 @@ int rt2x00usb_resume(struct usb_interface *usb_intf)
...
@@ -717,24 +715,10 @@ int rt2x00usb_resume(struct usb_interface *usb_intf)
{
{
struct
ieee80211_hw
*
hw
=
usb_get_intfdata
(
usb_intf
);
struct
ieee80211_hw
*
hw
=
usb_get_intfdata
(
usb_intf
);
struct
rt2x00_dev
*
rt2x00dev
=
hw
->
priv
;
struct
rt2x00_dev
*
rt2x00dev
=
hw
->
priv
;
int
retval
;
usb_get_dev
(
interface_to_usbdev
(
usb_intf
));
usb_get_dev
(
interface_to_usbdev
(
usb_intf
));
retval
=
rt2x00usb_alloc_reg
(
rt2x00dev
);
return
rt2x00lib_resume
(
rt2x00dev
);
if
(
retval
)
return
retval
;
retval
=
rt2x00lib_resume
(
rt2x00dev
);
if
(
retval
)
goto
exit_free_reg
;
return
0
;
exit_free_reg:
rt2x00usb_free_reg
(
rt2x00dev
);
return
retval
;
}
}
EXPORT_SYMBOL_GPL
(
rt2x00usb_resume
);
EXPORT_SYMBOL_GPL
(
rt2x00usb_resume
);
#endif
/* CONFIG_PM */
#endif
/* CONFIG_PM */
...
...
net/mac80211/Kconfig
浏览文件 @
775d8d93
...
@@ -202,10 +202,3 @@ config MAC80211_DEBUG_COUNTERS
...
@@ -202,10 +202,3 @@ config MAC80211_DEBUG_COUNTERS
and show them in debugfs.
and show them in debugfs.
If unsure, say N.
If unsure, say N.
config MAC80211_VERBOSE_SPECT_MGMT_DEBUG
bool "Verbose Spectrum Management (IEEE 802.11h)debugging"
depends on MAC80211_DEBUG_MENU
---help---
Say Y here to print out verbose Spectrum Management (IEEE 802.11h)
debug messages.
net/mac80211/mlme.c
浏览文件 @
775d8d93
...
@@ -1366,7 +1366,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
...
@@ -1366,7 +1366,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
for
(
i
=
0
;
i
<
elems
.
ext_supp_rates_len
;
i
++
)
{
for
(
i
=
0
;
i
<
elems
.
ext_supp_rates_len
;
i
++
)
{
int
rate
=
(
elems
.
ext_supp_rates
[
i
]
&
0x7f
)
*
5
;
int
rate
=
(
elems
.
ext_supp_rates
[
i
]
&
0x7f
)
*
5
;
bool
is_basic
=
!!
(
elems
.
supp_rates
[
i
]
&
0x80
);
bool
is_basic
=
!!
(
elems
.
ext_
supp_rates
[
i
]
&
0x80
);
if
(
rate
>
110
)
if
(
rate
>
110
)
have_higher_than_11mbit
=
true
;
have_higher_than_11mbit
=
true
;
...
@@ -1913,9 +1913,17 @@ static void ieee80211_sta_work(struct work_struct *work)
...
@@ -1913,9 +1913,17 @@ static void ieee80211_sta_work(struct work_struct *work)
static
void
ieee80211_restart_sta_timer
(
struct
ieee80211_sub_if_data
*
sdata
)
static
void
ieee80211_restart_sta_timer
(
struct
ieee80211_sub_if_data
*
sdata
)
{
{
if
(
sdata
->
vif
.
type
==
NL80211_IFTYPE_STATION
)
if
(
sdata
->
vif
.
type
==
NL80211_IFTYPE_STATION
)
{
/*
* Need to update last_beacon to avoid beacon loss
* test to trigger.
*/
sdata
->
u
.
mgd
.
last_beacon
=
jiffies
;
queue_work
(
sdata
->
local
->
hw
.
workqueue
,
queue_work
(
sdata
->
local
->
hw
.
workqueue
,
&
sdata
->
u
.
mgd
.
work
);
&
sdata
->
u
.
mgd
.
work
);
}
}
}
/* interface setup */
/* interface setup */
...
...
net/wireless/nl80211.c
浏览文件 @
775d8d93
...
@@ -3334,7 +3334,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
...
@@ -3334,7 +3334,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
struct
sk_buff
*
msg
;
struct
sk_buff
*
msg
;
void
*
hdr
;
void
*
hdr
;
msg
=
nlmsg_new
(
NLMSG_GOODSIZE
,
GFP_
KERNEL
);
msg
=
nlmsg_new
(
NLMSG_GOODSIZE
,
GFP_
ATOMIC
);
if
(
!
msg
)
if
(
!
msg
)
return
;
return
;
...
@@ -3353,7 +3353,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
...
@@ -3353,7 +3353,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
return
;
return
;
}
}
genlmsg_multicast
(
msg
,
0
,
nl80211_mlme_mcgrp
.
id
,
GFP_
KERNEL
);
genlmsg_multicast
(
msg
,
0
,
nl80211_mlme_mcgrp
.
id
,
GFP_
ATOMIC
);
return
;
return
;
nla_put_failure:
nla_put_failure:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录