Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
60717f7e
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
60717f7e
编写于
2月 28, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6
上级
fbabbed8
2d8d4fdf
变更
22
隐藏空白更改
内联
并排
Showing
22 changed file
with
96 addition
and
77 deletion
+96
-77
drivers/net/Kconfig
drivers/net/Kconfig
+1
-0
drivers/net/ps3_gelic_wireless.c
drivers/net/ps3_gelic_wireless.c
+1
-0
drivers/net/wireless/b43/Kconfig
drivers/net/wireless/b43/Kconfig
+1
-0
drivers/net/wireless/b43legacy/Kconfig
drivers/net/wireless/b43legacy/Kconfig
+1
-0
drivers/net/wireless/bcm43xx/Kconfig
drivers/net/wireless/bcm43xx/Kconfig
+1
-1
drivers/net/wireless/libertas/cmd.c
drivers/net/wireless/libertas/cmd.c
+0
-2
drivers/net/wireless/libertas/decl.h
drivers/net/wireless/libertas/decl.h
+0
-1
drivers/net/wireless/libertas/main.c
drivers/net/wireless/libertas/main.c
+0
-17
drivers/net/wireless/rndis_wlan.c
drivers/net/wireless/rndis_wlan.c
+7
-7
drivers/net/wireless/rt2x00/rt2400pci.c
drivers/net/wireless/rt2x00/rt2400pci.c
+5
-1
drivers/net/wireless/rt2x00/rt2500pci.c
drivers/net/wireless/rt2x00/rt2500pci.c
+5
-1
drivers/net/wireless/rt2x00/rt2500usb.c
drivers/net/wireless/rt2x00/rt2500usb.c
+5
-1
drivers/net/wireless/rt2x00/rt2x00config.c
drivers/net/wireless/rt2x00/rt2x00config.c
+6
-2
drivers/net/wireless/rt2x00/rt2x00dev.c
drivers/net/wireless/rt2x00/rt2x00dev.c
+38
-35
drivers/net/wireless/rt2x00/rt2x00reg.h
drivers/net/wireless/rt2x00/rt2x00reg.h
+2
-0
drivers/net/wireless/rt2x00/rt61pci.c
drivers/net/wireless/rt2x00/rt61pci.c
+5
-1
drivers/net/wireless/rt2x00/rt73usb.c
drivers/net/wireless/rt2x00/rt73usb.c
+5
-1
drivers/ssb/Kconfig
drivers/ssb/Kconfig
+5
-0
drivers/ssb/Makefile
drivers/ssb/Makefile
+1
-1
drivers/ssb/driver_pcicore.c
drivers/ssb/driver_pcicore.c
+1
-1
drivers/ssb/ssb_private.h
drivers/ssb/ssb_private.h
+2
-2
net/mac80211/ieee80211_sta.c
net/mac80211/ieee80211_sta.c
+4
-3
未找到文件。
drivers/net/Kconfig
浏览文件 @
60717f7e
...
...
@@ -2368,6 +2368,7 @@ config GELIC_NET
config GELIC_WIRELESS
bool "PS3 Wireless support"
depends on GELIC_NET
select WIRELESS_EXT
help
This option adds the support for the wireless feature of PS3.
If you have the wireless-less model of PS3 or have no plan to
...
...
drivers/net/ps3_gelic_wireless.c
浏览文件 @
60717f7e
...
...
@@ -2690,6 +2690,7 @@ int gelic_wl_driver_probe(struct gelic_card *card)
return
-
ENOMEM
;
/* setup net_device structure */
SET_NETDEV_DEV
(
netdev
,
&
card
->
dev
->
core
);
gelic_wl_setup_netdev_ops
(
netdev
);
/* setup some of net_device and register it */
...
...
drivers/net/wireless/b43/Kconfig
浏览文件 @
60717f7e
...
...
@@ -32,6 +32,7 @@ config B43_PCI_AUTOSELECT
bool
depends on B43 && SSB_PCIHOST_POSSIBLE
select SSB_PCIHOST
select SSB_B43_PCI_BRIDGE
default y
# Auto-select SSB PCICORE driver, if possible
...
...
drivers/net/wireless/b43legacy/Kconfig
浏览文件 @
60717f7e
...
...
@@ -25,6 +25,7 @@ config B43LEGACY_PCI_AUTOSELECT
bool
depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
select SSB_PCIHOST
select SSB_B43_PCI_BRIDGE
default y
# Auto-select SSB PCICORE driver, if possible
...
...
drivers/net/wireless/bcm43xx/Kconfig
浏览文件 @
60717f7e
config BCM43XX
tristate "Broadcom BCM43xx wireless support (DEPRECATED)"
depends on PCI && IEEE80211 && IEEE80211_SOFTMAC && WLAN_80211 && EXPERIMENTAL
depends on PCI && IEEE80211 && IEEE80211_SOFTMAC && WLAN_80211 &&
(!SSB_B43_PCI_BRIDGE || SSB != y) &&
EXPERIMENTAL
select WIRELESS_EXT
select FW_LOADER
select HW_RANDOM
...
...
drivers/net/wireless/libertas/cmd.c
浏览文件 @
60717f7e
...
...
@@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action,
lbs_deb_leave
(
LBS_DEB_CMD
);
return
ret
;
}
EXPORT_SYMBOL_GPL
(
lbs_mesh_access
);
int
lbs_mesh_config
(
struct
lbs_private
*
priv
,
uint16_t
enable
,
uint16_t
chan
)
{
...
...
@@ -1576,7 +1575,6 @@ int lbs_prepare_and_send_command(struct lbs_private *priv,
lbs_deb_leave_args
(
LBS_DEB_HOST
,
"ret %d"
,
ret
);
return
ret
;
}
EXPORT_SYMBOL_GPL
(
lbs_prepare_and_send_command
);
/**
* @brief This function allocates the command buffer and link
...
...
drivers/net/wireless/libertas/decl.h
浏览文件 @
60717f7e
...
...
@@ -69,7 +69,6 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev);
int
lbs_remove_card
(
struct
lbs_private
*
priv
);
int
lbs_start_card
(
struct
lbs_private
*
priv
);
int
lbs_stop_card
(
struct
lbs_private
*
priv
);
int
lbs_reset_device
(
struct
lbs_private
*
priv
);
void
lbs_host_to_card_done
(
struct
lbs_private
*
priv
);
int
lbs_update_channel
(
struct
lbs_private
*
priv
);
...
...
drivers/net/wireless/libertas/main.c
浏览文件 @
60717f7e
...
...
@@ -1351,8 +1351,6 @@ static int lbs_add_mesh(struct lbs_private *priv)
lbs_deb_leave_args
(
LBS_DEB_MESH
,
"ret %d"
,
ret
);
return
ret
;
}
EXPORT_SYMBOL_GPL
(
lbs_add_mesh
);
static
void
lbs_remove_mesh
(
struct
lbs_private
*
priv
)
{
...
...
@@ -1372,7 +1370,6 @@ static void lbs_remove_mesh(struct lbs_private *priv)
free_netdev
(
mesh_dev
);
lbs_deb_leave
(
LBS_DEB_MESH
);
}
EXPORT_SYMBOL_GPL
(
lbs_remove_mesh
);
/**
* @brief This function finds the CFP in
...
...
@@ -1458,20 +1455,6 @@ void lbs_interrupt(struct lbs_private *priv)
}
EXPORT_SYMBOL_GPL
(
lbs_interrupt
);
int
lbs_reset_device
(
struct
lbs_private
*
priv
)
{
int
ret
;
lbs_deb_enter
(
LBS_DEB_MAIN
);
ret
=
lbs_prepare_and_send_command
(
priv
,
CMD_802_11_RESET
,
CMD_ACT_HALT
,
0
,
0
,
NULL
);
msleep_interruptible
(
10
);
lbs_deb_leave_args
(
LBS_DEB_MAIN
,
"ret %d"
,
ret
);
return
ret
;
}
EXPORT_SYMBOL_GPL
(
lbs_reset_device
);
static
int
__init
lbs_init_module
(
void
)
{
lbs_deb_enter
(
LBS_DEB_MAIN
);
...
...
drivers/net/wireless/rndis_wlan.c
浏览文件 @
60717f7e
...
...
@@ -228,9 +228,9 @@ struct NDIS_WLAN_BSSID_EX {
struct
NDIS_802_11_SSID
Ssid
;
__le32
Privacy
;
__le32
Rssi
;
enum
NDIS_802_11_NETWORK_TYPE
NetworkTypeInUse
;
__le32
NetworkTypeInUse
;
struct
NDIS_802_11_CONFIGURATION
Configuration
;
enum
NDIS_802_11_NETWORK_INFRASTRUCTURE
InfrastructureMode
;
__le32
InfrastructureMode
;
u8
SupportedRates
[
NDIS_802_11_LENGTH_RATES_EX
];
__le32
IELength
;
u8
IEs
[
0
];
...
...
@@ -279,11 +279,11 @@ struct RNDIS_CONFIG_PARAMETER_INFOBUFFER {
}
__attribute__
((
packed
));
/* these have to match what is in wpa_supplicant */
enum
{
WPA_ALG_NONE
,
WPA_ALG_WEP
,
WPA_ALG_TKIP
,
WPA_ALG_CCMP
}
wpa_alg
;
enum
{
CIPHER_NONE
,
CIPHER_WEP40
,
CIPHER_TKIP
,
CIPHER_CCMP
,
CIPHER_WEP104
}
wpa_cipher
;
enum
{
KEY_MGMT_802_1X
,
KEY_MGMT_PSK
,
KEY_MGMT_NONE
,
KEY_MGMT_802_1X_NO_WPA
,
KEY_MGMT_WPA_NONE
}
wpa_key_mgmt
;
enum
wpa_alg
{
WPA_ALG_NONE
,
WPA_ALG_WEP
,
WPA_ALG_TKIP
,
WPA_ALG_CCMP
}
;
enum
wpa_cipher
{
CIPHER_NONE
,
CIPHER_WEP40
,
CIPHER_TKIP
,
CIPHER_CCMP
,
CIPHER_WEP104
}
;
enum
wpa_key_mgmt
{
KEY_MGMT_802_1X
,
KEY_MGMT_PSK
,
KEY_MGMT_NONE
,
KEY_MGMT_802_1X_NO_WPA
,
KEY_MGMT_WPA_NONE
}
;
/*
* private data
...
...
drivers/net/wireless/rt2x00/rt2400pci.c
浏览文件 @
60717f7e
...
...
@@ -960,8 +960,12 @@ static int rt2400pci_set_device_state(struct rt2x00_dev *rt2x00dev,
rt2400pci_disable_radio
(
rt2x00dev
);
break
;
case
STATE_RADIO_RX_ON
:
case
STATE_RADIO_RX_ON_LINK
:
rt2400pci_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
);
break
;
case
STATE_RADIO_RX_OFF
:
rt2400pci_toggle_rx
(
rt2x00dev
,
state
);
case
STATE_RADIO_RX_OFF_LINK
:
rt2400pci_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
);
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt2500pci.c
浏览文件 @
60717f7e
...
...
@@ -1112,8 +1112,12 @@ static int rt2500pci_set_device_state(struct rt2x00_dev *rt2x00dev,
rt2500pci_disable_radio
(
rt2x00dev
);
break
;
case
STATE_RADIO_RX_ON
:
case
STATE_RADIO_RX_ON_LINK
:
rt2500pci_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
);
break
;
case
STATE_RADIO_RX_OFF
:
rt2500pci_toggle_rx
(
rt2x00dev
,
state
);
case
STATE_RADIO_RX_OFF_LINK
:
rt2500pci_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
);
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt2500usb.c
浏览文件 @
60717f7e
...
...
@@ -1001,8 +1001,12 @@ static int rt2500usb_set_device_state(struct rt2x00_dev *rt2x00dev,
rt2500usb_disable_radio
(
rt2x00dev
);
break
;
case
STATE_RADIO_RX_ON
:
case
STATE_RADIO_RX_ON_LINK
:
rt2500usb_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
);
break
;
case
STATE_RADIO_RX_OFF
:
rt2500usb_toggle_rx
(
rt2x00dev
,
state
);
case
STATE_RADIO_RX_OFF_LINK
:
rt2500usb_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
);
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt2x00config.c
浏览文件 @
60717f7e
...
...
@@ -97,12 +97,16 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
libconf
.
ant
.
rx
=
rx
;
libconf
.
ant
.
tx
=
tx
;
if
(
rx
==
rt2x00dev
->
link
.
ant
.
active
.
rx
&&
tx
==
rt2x00dev
->
link
.
ant
.
active
.
tx
)
return
;
/*
* Antenna setup changes require the RX to be disabled,
* else the changes will be ignored by the device.
*/
if
(
test_bit
(
DEVICE_ENABLED_RADIO
,
&
rt2x00dev
->
flags
))
rt2x00lib_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
);
rt2x00lib_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
_LINK
);
/*
* Write new antenna setup to device and reset the link tuner.
...
...
@@ -116,7 +120,7 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
rt2x00dev
->
link
.
ant
.
active
.
tx
=
libconf
.
ant
.
tx
;
if
(
test_bit
(
DEVICE_ENABLED_RADIO
,
&
rt2x00dev
->
flags
))
rt2x00lib_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
);
rt2x00lib_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
_LINK
);
}
void
rt2x00lib_config
(
struct
rt2x00_dev
*
rt2x00dev
,
...
...
drivers/net/wireless/rt2x00/rt2x00dev.c
浏览文件 @
60717f7e
...
...
@@ -61,11 +61,33 @@ EXPORT_SYMBOL_GPL(rt2x00lib_get_ring);
/*
* Link tuning handlers
*/
static
void
rt2x00lib_star
t_link_tuner
(
struct
rt2x00_dev
*
rt2x00dev
)
void
rt2x00lib_rese
t_link_tuner
(
struct
rt2x00_dev
*
rt2x00dev
)
{
if
(
!
test_bit
(
DEVICE_ENABLED_RADIO
,
&
rt2x00dev
->
flags
))
return
;
/*
* Reset link information.
* Both the currently active vgc level as well as
* the link tuner counter should be reset. Resetting
* the counter is important for devices where the
* device should only perform link tuning during the
* first minute after being enabled.
*/
rt2x00dev
->
link
.
count
=
0
;
rt2x00dev
->
link
.
vgc_level
=
0
;
/*
* Reset the link tuner.
*/
rt2x00dev
->
ops
->
lib
->
reset_tuner
(
rt2x00dev
);
}
static
void
rt2x00lib_start_link_tuner
(
struct
rt2x00_dev
*
rt2x00dev
)
{
/*
* Clear all (possibly) pre-existing quality statistics.
*/
memset
(
&
rt2x00dev
->
link
.
qual
,
0
,
sizeof
(
rt2x00dev
->
link
.
qual
));
/*
...
...
@@ -79,10 +101,7 @@ static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
rt2x00dev
->
link
.
qual
.
rx_percentage
=
50
;
rt2x00dev
->
link
.
qual
.
tx_percentage
=
50
;
/*
* Reset the link tuner.
*/
rt2x00dev
->
ops
->
lib
->
reset_tuner
(
rt2x00dev
);
rt2x00lib_reset_link_tuner
(
rt2x00dev
);
queue_delayed_work
(
rt2x00dev
->
hw
->
workqueue
,
&
rt2x00dev
->
link
.
work
,
LINK_TUNE_INTERVAL
);
...
...
@@ -93,15 +112,6 @@ static void rt2x00lib_stop_link_tuner(struct rt2x00_dev *rt2x00dev)
cancel_delayed_work_sync
(
&
rt2x00dev
->
link
.
work
);
}
void
rt2x00lib_reset_link_tuner
(
struct
rt2x00_dev
*
rt2x00dev
)
{
if
(
!
test_bit
(
DEVICE_ENABLED_RADIO
,
&
rt2x00dev
->
flags
))
return
;
rt2x00lib_stop_link_tuner
(
rt2x00dev
);
rt2x00lib_start_link_tuner
(
rt2x00dev
);
}
/*
* Ring initialization
*/
...
...
@@ -260,19 +270,11 @@ static void rt2x00lib_evaluate_antenna_sample(struct rt2x00_dev *rt2x00dev)
if
(
sample_a
==
sample_b
)
return
;
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
{
if
(
sample_a
>
sample_b
&&
rx
==
ANTENNA_B
)
rx
=
ANTENNA_A
;
else
if
(
rx
==
ANTENNA_A
)
rx
=
ANTENNA_B
;
}
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
rx
=
(
sample_a
>
sample_b
)
?
ANTENNA_A
:
ANTENNA_B
;
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
)
{
if
(
sample_a
>
sample_b
&&
tx
==
ANTENNA_B
)
tx
=
ANTENNA_A
;
else
if
(
tx
==
ANTENNA_A
)
tx
=
ANTENNA_B
;
}
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
)
tx
=
(
sample_a
>
sample_b
)
?
ANTENNA_A
:
ANTENNA_B
;
rt2x00lib_config_antenna
(
rt2x00dev
,
rx
,
tx
);
}
...
...
@@ -293,7 +295,7 @@ static void rt2x00lib_evaluate_antenna_eval(struct rt2x00_dev *rt2x00dev)
* sample the rssi from the other antenna to make a valid
* comparison between the 2 antennas.
*/
if
(
(
rssi_curr
-
rssi_old
)
>
-
5
||
(
rssi_curr
-
rssi_old
)
<
5
)
if
(
abs
(
rssi_curr
-
rssi_old
)
<
5
)
return
;
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_MODE_SAMPLE
;
...
...
@@ -319,15 +321,15 @@ static void rt2x00lib_evaluate_antenna(struct rt2x00_dev *rt2x00dev)
rt2x00dev
->
link
.
ant
.
flags
&=
~
ANTENNA_TX_DIVERSITY
;
if
(
rt2x00dev
->
hw
->
conf
.
antenna_sel_rx
==
0
&&
rt2x00dev
->
default_ant
.
rx
!
=
ANTENNA_SW_DIVERSITY
)
rt2x00dev
->
default_ant
.
rx
=
=
ANTENNA_SW_DIVERSITY
)
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_RX_DIVERSITY
;
if
(
rt2x00dev
->
hw
->
conf
.
antenna_sel_tx
==
0
&&
rt2x00dev
->
default_ant
.
tx
!
=
ANTENNA_SW_DIVERSITY
)
rt2x00dev
->
default_ant
.
tx
=
=
ANTENNA_SW_DIVERSITY
)
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_TX_DIVERSITY
;
if
(
!
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
&&
!
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
))
{
rt2x00dev
->
link
.
ant
.
flags
&=
~
ANTENNA_MODE_SAMPLE
;
rt2x00dev
->
link
.
ant
.
flags
=
0
;
return
;
}
...
...
@@ -440,17 +442,18 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
if
(
!
test_bit
(
CONFIG_DISABLE_LINK_TUNING
,
&
rt2x00dev
->
flags
))
rt2x00dev
->
ops
->
lib
->
link_tuner
(
rt2x00dev
);
/*
* Evaluate antenna setup.
*/
rt2x00lib_evaluate_antenna
(
rt2x00dev
);
/*
* Precalculate a portion of the link signal which is
* in based on the tx/rx success/failure counters.
*/
rt2x00lib_precalculate_link_signal
(
&
rt2x00dev
->
link
.
qual
);
/*
* Evaluate antenna setup, make this the last step since this could
* possibly reset some statistics.
*/
rt2x00lib_evaluate_antenna
(
rt2x00dev
);
/*
* Increase tuner counter, and reschedule the next link tuner run.
*/
...
...
drivers/net/wireless/rt2x00/rt2x00reg.h
浏览文件 @
60717f7e
...
...
@@ -85,6 +85,8 @@ enum dev_state {
STATE_RADIO_OFF
,
STATE_RADIO_RX_ON
,
STATE_RADIO_RX_OFF
,
STATE_RADIO_RX_ON_LINK
,
STATE_RADIO_RX_OFF_LINK
,
STATE_RADIO_IRQ_ON
,
STATE_RADIO_IRQ_OFF
,
};
...
...
drivers/net/wireless/rt2x00/rt61pci.c
浏览文件 @
60717f7e
...
...
@@ -1482,8 +1482,12 @@ static int rt61pci_set_device_state(struct rt2x00_dev *rt2x00dev,
rt61pci_disable_radio
(
rt2x00dev
);
break
;
case
STATE_RADIO_RX_ON
:
case
STATE_RADIO_RX_ON_LINK
:
rt61pci_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
);
break
;
case
STATE_RADIO_RX_OFF
:
rt61pci_toggle_rx
(
rt2x00dev
,
state
);
case
STATE_RADIO_RX_OFF_LINK
:
rt61pci_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
);
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt73usb.c
浏览文件 @
60717f7e
...
...
@@ -1208,8 +1208,12 @@ static int rt73usb_set_device_state(struct rt2x00_dev *rt2x00dev,
rt73usb_disable_radio
(
rt2x00dev
);
break
;
case
STATE_RADIO_RX_ON
:
case
STATE_RADIO_RX_ON_LINK
:
rt73usb_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_ON
);
break
;
case
STATE_RADIO_RX_OFF
:
rt73usb_toggle_rx
(
rt2x00dev
,
state
);
case
STATE_RADIO_RX_OFF_LINK
:
rt73usb_toggle_rx
(
rt2x00dev
,
STATE_RADIO_RX_OFF
);
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/ssb/Kconfig
浏览文件 @
60717f7e
...
...
@@ -35,6 +35,11 @@ config SSB_PCIHOST
If unsure, say Y
config SSB_B43_PCI_BRIDGE
bool
depends on SSB_PCIHOST
default n
config SSB_PCMCIAHOST_POSSIBLE
bool
depends on SSB && (PCMCIA = y || PCMCIA = SSB) && EXPERIMENTAL
...
...
drivers/ssb/Makefile
浏览文件 @
60717f7e
...
...
@@ -14,6 +14,6 @@ ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o
# b43 pci-ssb-bridge driver
# Not strictly a part of SSB, but kept here for convenience
ssb-$(CONFIG_SSB_
PCIHOST)
+=
b43_pci_bridge.o
ssb-$(CONFIG_SSB_
B43_PCI_BRIDGE)
+=
b43_pci_bridge.o
obj-$(CONFIG_SSB)
+=
ssb.o
drivers/ssb/driver_pcicore.c
浏览文件 @
60717f7e
...
...
@@ -393,7 +393,7 @@ static int pcicore_is_in_hostmode(struct ssb_pcicore *pc)
chipid_top
!=
0x5300
)
return
0
;
if
(
bus
->
sprom
.
r1
.
boardflags_lo
&
SSB_PCICORE_BFL_NOPCI
)
if
(
bus
->
sprom
.
boardflags_lo
&
SSB_PCICORE_BFL_NOPCI
)
return
0
;
/* The 200-pin BCM4712 package does not bond out PCI. Even when
...
...
drivers/ssb/ssb_private.h
浏览文件 @
60717f7e
...
...
@@ -120,10 +120,10 @@ extern int ssb_devices_thaw(struct ssb_bus *bus);
extern
struct
ssb_bus
*
ssb_pci_dev_to_bus
(
struct
pci_dev
*
pdev
);
/* b43_pci_bridge.c */
#ifdef CONFIG_SSB_
PCIHOST
#ifdef CONFIG_SSB_
B43_PCI_BRIDGE
extern
int
__init
b43_pci_ssb_bridge_init
(
void
);
extern
void
__exit
b43_pci_ssb_bridge_exit
(
void
);
#else
/* CONFIG_SSB_
PCIHOST
*/
#else
/* CONFIG_SSB_
B43_PCI_BRIDGR
*/
static
inline
int
b43_pci_ssb_bridge_init
(
void
)
{
return
0
;
...
...
net/mac80211/ieee80211_sta.c
浏览文件 @
60717f7e
...
...
@@ -1116,9 +1116,10 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev,
/* prepare reordering buffer */
tid_agg_rx
->
reorder_buf
=
kmalloc
(
buf_size
*
sizeof
(
struct
sk_buf
*
),
GFP_ATOMIC
);
if
((
!
tid_agg_rx
->
reorder_buf
)
&&
net_ratelimit
())
{
printk
(
KERN_ERR
"can not allocate reordering buffer "
"to tid %d
\n
"
,
tid
);
if
(
!
tid_agg_rx
->
reorder_buf
)
{
if
(
net_ratelimit
())
printk
(
KERN_ERR
"can not allocate reordering buffer "
"to tid %d
\n
"
,
tid
);
goto
end
;
}
memset
(
tid_agg_rx
->
reorder_buf
,
0
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录