Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
60717f7e
Commit
60717f7e
authored
Feb 28, 2008
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6
parents
fbabbed8
2d8d4fdf
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
96 additions
and
77 deletions
+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
No files found.
drivers/net/Kconfig
View file @
60717f7e
...
@@ -2368,6 +2368,7 @@ config GELIC_NET
...
@@ -2368,6 +2368,7 @@ config GELIC_NET
config GELIC_WIRELESS
config GELIC_WIRELESS
bool "PS3 Wireless support"
bool "PS3 Wireless support"
depends on GELIC_NET
depends on GELIC_NET
select WIRELESS_EXT
help
help
This option adds the support for the wireless feature of PS3.
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
If you have the wireless-less model of PS3 or have no plan to
...
...
drivers/net/ps3_gelic_wireless.c
View file @
60717f7e
...
@@ -2690,6 +2690,7 @@ int gelic_wl_driver_probe(struct gelic_card *card)
...
@@ -2690,6 +2690,7 @@ int gelic_wl_driver_probe(struct gelic_card *card)
return
-
ENOMEM
;
return
-
ENOMEM
;
/* setup net_device structure */
/* setup net_device structure */
SET_NETDEV_DEV
(
netdev
,
&
card
->
dev
->
core
);
gelic_wl_setup_netdev_ops
(
netdev
);
gelic_wl_setup_netdev_ops
(
netdev
);
/* setup some of net_device and register it */
/* setup some of net_device and register it */
...
...
drivers/net/wireless/b43/Kconfig
View file @
60717f7e
...
@@ -32,6 +32,7 @@ config B43_PCI_AUTOSELECT
...
@@ -32,6 +32,7 @@ config B43_PCI_AUTOSELECT
bool
bool
depends on B43 && SSB_PCIHOST_POSSIBLE
depends on B43 && SSB_PCIHOST_POSSIBLE
select SSB_PCIHOST
select SSB_PCIHOST
select SSB_B43_PCI_BRIDGE
default y
default y
# Auto-select SSB PCICORE driver, if possible
# Auto-select SSB PCICORE driver, if possible
...
...
drivers/net/wireless/b43legacy/Kconfig
View file @
60717f7e
...
@@ -25,6 +25,7 @@ config B43LEGACY_PCI_AUTOSELECT
...
@@ -25,6 +25,7 @@ config B43LEGACY_PCI_AUTOSELECT
bool
bool
depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
select SSB_PCIHOST
select SSB_PCIHOST
select SSB_B43_PCI_BRIDGE
default y
default y
# Auto-select SSB PCICORE driver, if possible
# Auto-select SSB PCICORE driver, if possible
...
...
drivers/net/wireless/bcm43xx/Kconfig
View file @
60717f7e
config BCM43XX
config BCM43XX
tristate "Broadcom BCM43xx wireless support (DEPRECATED)"
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 WIRELESS_EXT
select FW_LOADER
select FW_LOADER
select HW_RANDOM
select HW_RANDOM
...
...
drivers/net/wireless/libertas/cmd.c
View file @
60717f7e
...
@@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action,
...
@@ -1040,7 +1040,6 @@ int lbs_mesh_access(struct lbs_private *priv, uint16_t cmd_action,
lbs_deb_leave
(
LBS_DEB_CMD
);
lbs_deb_leave
(
LBS_DEB_CMD
);
return
ret
;
return
ret
;
}
}
EXPORT_SYMBOL_GPL
(
lbs_mesh_access
);
int
lbs_mesh_config
(
struct
lbs_private
*
priv
,
uint16_t
enable
,
uint16_t
chan
)
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,
...
@@ -1576,7 +1575,6 @@ int lbs_prepare_and_send_command(struct lbs_private *priv,
lbs_deb_leave_args
(
LBS_DEB_HOST
,
"ret %d"
,
ret
);
lbs_deb_leave_args
(
LBS_DEB_HOST
,
"ret %d"
,
ret
);
return
ret
;
return
ret
;
}
}
EXPORT_SYMBOL_GPL
(
lbs_prepare_and_send_command
);
/**
/**
* @brief This function allocates the command buffer and link
* @brief This function allocates the command buffer and link
...
...
drivers/net/wireless/libertas/decl.h
View file @
60717f7e
...
@@ -69,7 +69,6 @@ struct lbs_private *lbs_add_card(void *card, struct device *dmdev);
...
@@ -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_remove_card
(
struct
lbs_private
*
priv
);
int
lbs_start_card
(
struct
lbs_private
*
priv
);
int
lbs_start_card
(
struct
lbs_private
*
priv
);
int
lbs_stop_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
);
void
lbs_host_to_card_done
(
struct
lbs_private
*
priv
);
int
lbs_update_channel
(
struct
lbs_private
*
priv
);
int
lbs_update_channel
(
struct
lbs_private
*
priv
);
...
...
drivers/net/wireless/libertas/main.c
View file @
60717f7e
...
@@ -1351,8 +1351,6 @@ static int lbs_add_mesh(struct lbs_private *priv)
...
@@ -1351,8 +1351,6 @@ static int lbs_add_mesh(struct lbs_private *priv)
lbs_deb_leave_args
(
LBS_DEB_MESH
,
"ret %d"
,
ret
);
lbs_deb_leave_args
(
LBS_DEB_MESH
,
"ret %d"
,
ret
);
return
ret
;
return
ret
;
}
}
EXPORT_SYMBOL_GPL
(
lbs_add_mesh
);
static
void
lbs_remove_mesh
(
struct
lbs_private
*
priv
)
static
void
lbs_remove_mesh
(
struct
lbs_private
*
priv
)
{
{
...
@@ -1372,7 +1370,6 @@ 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
);
free_netdev
(
mesh_dev
);
lbs_deb_leave
(
LBS_DEB_MESH
);
lbs_deb_leave
(
LBS_DEB_MESH
);
}
}
EXPORT_SYMBOL_GPL
(
lbs_remove_mesh
);
/**
/**
* @brief This function finds the CFP in
* @brief This function finds the CFP in
...
@@ -1458,20 +1455,6 @@ void lbs_interrupt(struct lbs_private *priv)
...
@@ -1458,20 +1455,6 @@ void lbs_interrupt(struct lbs_private *priv)
}
}
EXPORT_SYMBOL_GPL
(
lbs_interrupt
);
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
)
static
int
__init
lbs_init_module
(
void
)
{
{
lbs_deb_enter
(
LBS_DEB_MAIN
);
lbs_deb_enter
(
LBS_DEB_MAIN
);
...
...
drivers/net/wireless/rndis_wlan.c
View file @
60717f7e
...
@@ -228,9 +228,9 @@ struct NDIS_WLAN_BSSID_EX {
...
@@ -228,9 +228,9 @@ struct NDIS_WLAN_BSSID_EX {
struct
NDIS_802_11_SSID
Ssid
;
struct
NDIS_802_11_SSID
Ssid
;
__le32
Privacy
;
__le32
Privacy
;
__le32
Rssi
;
__le32
Rssi
;
enum
NDIS_802_11_NETWORK_TYPE
NetworkTypeInUse
;
__le32
NetworkTypeInUse
;
struct
NDIS_802_11_CONFIGURATION
Configuration
;
struct
NDIS_802_11_CONFIGURATION
Configuration
;
enum
NDIS_802_11_NETWORK_INFRASTRUCTURE
InfrastructureMode
;
__le32
InfrastructureMode
;
u8
SupportedRates
[
NDIS_802_11_LENGTH_RATES_EX
];
u8
SupportedRates
[
NDIS_802_11_LENGTH_RATES_EX
];
__le32
IELength
;
__le32
IELength
;
u8
IEs
[
0
];
u8
IEs
[
0
];
...
@@ -279,11 +279,11 @@ struct RNDIS_CONFIG_PARAMETER_INFOBUFFER {
...
@@ -279,11 +279,11 @@ struct RNDIS_CONFIG_PARAMETER_INFOBUFFER {
}
__attribute__
((
packed
));
}
__attribute__
((
packed
));
/* these have to match what is in wpa_supplicant */
/* 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
wpa_alg
{
WPA_ALG_NONE
,
WPA_ALG_WEP
,
WPA_ALG_TKIP
,
WPA_ALG_CCMP
}
;
enum
{
CIPHER_NONE
,
CIPHER_WEP40
,
CIPHER_TKIP
,
CIPHER_CCMP
,
CIPHER_WEP104
}
enum
wpa_cipher
{
CIPHER_NONE
,
CIPHER_WEP40
,
CIPHER_TKIP
,
CIPHER_CCMP
,
wpa_cipher
;
CIPHER_WEP104
}
;
enum
{
KEY_MGMT_802_1X
,
KEY_MGMT_PSK
,
KEY_MGMT_NONE
,
KEY_MGMT_802_1X_NO_WPA
,
enum
wpa_key_mgmt
{
KEY_MGMT_802_1X
,
KEY_MGMT_PSK
,
KEY_MGMT_NONE
,
KEY_MGMT_WPA_NONE
}
wpa_key_mgmt
;
KEY_MGMT_802_1X_NO_WPA
,
KEY_MGMT_WPA_NONE
}
;
/*
/*
* private data
* private data
...
...
drivers/net/wireless/rt2x00/rt2400pci.c
View file @
60717f7e
...
@@ -960,8 +960,12 @@ static int rt2400pci_set_device_state(struct rt2x00_dev *rt2x00dev,
...
@@ -960,8 +960,12 @@ static int rt2400pci_set_device_state(struct rt2x00_dev *rt2x00dev,
rt2400pci_disable_radio
(
rt2x00dev
);
rt2400pci_disable_radio
(
rt2x00dev
);
break
;
break
;
case
STATE_RADIO_RX_ON
:
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
:
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
;
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt2500pci.c
View file @
60717f7e
...
@@ -1112,8 +1112,12 @@ static int rt2500pci_set_device_state(struct rt2x00_dev *rt2x00dev,
...
@@ -1112,8 +1112,12 @@ static int rt2500pci_set_device_state(struct rt2x00_dev *rt2x00dev,
rt2500pci_disable_radio
(
rt2x00dev
);
rt2500pci_disable_radio
(
rt2x00dev
);
break
;
break
;
case
STATE_RADIO_RX_ON
:
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
:
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
;
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt2500usb.c
View file @
60717f7e
...
@@ -1001,8 +1001,12 @@ static int rt2500usb_set_device_state(struct rt2x00_dev *rt2x00dev,
...
@@ -1001,8 +1001,12 @@ static int rt2500usb_set_device_state(struct rt2x00_dev *rt2x00dev,
rt2500usb_disable_radio
(
rt2x00dev
);
rt2500usb_disable_radio
(
rt2x00dev
);
break
;
break
;
case
STATE_RADIO_RX_ON
:
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
:
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
;
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt2x00config.c
View file @
60717f7e
...
@@ -97,12 +97,16 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
...
@@ -97,12 +97,16 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
libconf
.
ant
.
rx
=
rx
;
libconf
.
ant
.
rx
=
rx
;
libconf
.
ant
.
tx
=
tx
;
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,
* Antenna setup changes require the RX to be disabled,
* else the changes will be ignored by the device.
* else the changes will be ignored by the device.
*/
*/
if
(
test_bit
(
DEVICE_ENABLED_RADIO
,
&
rt2x00dev
->
flags
))
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.
* Write new antenna setup to device and reset the link tuner.
...
@@ -116,7 +120,7 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
...
@@ -116,7 +120,7 @@ void rt2x00lib_config_antenna(struct rt2x00_dev *rt2x00dev,
rt2x00dev
->
link
.
ant
.
active
.
tx
=
libconf
.
ant
.
tx
;
rt2x00dev
->
link
.
ant
.
active
.
tx
=
libconf
.
ant
.
tx
;
if
(
test_bit
(
DEVICE_ENABLED_RADIO
,
&
rt2x00dev
->
flags
))
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
,
void
rt2x00lib_config
(
struct
rt2x00_dev
*
rt2x00dev
,
...
...
drivers/net/wireless/rt2x00/rt2x00dev.c
View file @
60717f7e
...
@@ -61,11 +61,33 @@ EXPORT_SYMBOL_GPL(rt2x00lib_get_ring);
...
@@ -61,11 +61,33 @@ EXPORT_SYMBOL_GPL(rt2x00lib_get_ring);
/*
/*
* Link tuning handlers
* 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
.
count
=
0
;
rt2x00dev
->
link
.
vgc_level
=
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
));
memset
(
&
rt2x00dev
->
link
.
qual
,
0
,
sizeof
(
rt2x00dev
->
link
.
qual
));
/*
/*
...
@@ -79,10 +101,7 @@ static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
...
@@ -79,10 +101,7 @@ static void rt2x00lib_start_link_tuner(struct rt2x00_dev *rt2x00dev)
rt2x00dev
->
link
.
qual
.
rx_percentage
=
50
;
rt2x00dev
->
link
.
qual
.
rx_percentage
=
50
;
rt2x00dev
->
link
.
qual
.
tx_percentage
=
50
;
rt2x00dev
->
link
.
qual
.
tx_percentage
=
50
;
/*
rt2x00lib_reset_link_tuner
(
rt2x00dev
);
* Reset the link tuner.
*/
rt2x00dev
->
ops
->
lib
->
reset_tuner
(
rt2x00dev
);
queue_delayed_work
(
rt2x00dev
->
hw
->
workqueue
,
queue_delayed_work
(
rt2x00dev
->
hw
->
workqueue
,
&
rt2x00dev
->
link
.
work
,
LINK_TUNE_INTERVAL
);
&
rt2x00dev
->
link
.
work
,
LINK_TUNE_INTERVAL
);
...
@@ -93,15 +112,6 @@ static void rt2x00lib_stop_link_tuner(struct rt2x00_dev *rt2x00dev)
...
@@ -93,15 +112,6 @@ static void rt2x00lib_stop_link_tuner(struct rt2x00_dev *rt2x00dev)
cancel_delayed_work_sync
(
&
rt2x00dev
->
link
.
work
);
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
* Ring initialization
*/
*/
...
@@ -260,19 +270,11 @@ static void rt2x00lib_evaluate_antenna_sample(struct rt2x00_dev *rt2x00dev)
...
@@ -260,19 +270,11 @@ static void rt2x00lib_evaluate_antenna_sample(struct rt2x00_dev *rt2x00dev)
if
(
sample_a
==
sample_b
)
if
(
sample_a
==
sample_b
)
return
;
return
;
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
{
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
if
(
sample_a
>
sample_b
&&
rx
==
ANTENNA_B
)
rx
=
(
sample_a
>
sample_b
)
?
ANTENNA_A
:
ANTENNA_B
;
rx
=
ANTENNA_A
;
else
if
(
rx
==
ANTENNA_A
)
rx
=
ANTENNA_B
;
}
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
)
{
if
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
)
if
(
sample_a
>
sample_b
&&
tx
==
ANTENNA_B
)
tx
=
(
sample_a
>
sample_b
)
?
ANTENNA_A
:
ANTENNA_B
;
tx
=
ANTENNA_A
;
else
if
(
tx
==
ANTENNA_A
)
tx
=
ANTENNA_B
;
}
rt2x00lib_config_antenna
(
rt2x00dev
,
rx
,
tx
);
rt2x00lib_config_antenna
(
rt2x00dev
,
rx
,
tx
);
}
}
...
@@ -293,7 +295,7 @@ static void rt2x00lib_evaluate_antenna_eval(struct rt2x00_dev *rt2x00dev)
...
@@ -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
* sample the rssi from the other antenna to make a valid
* comparison between the 2 antennas.
* comparison between the 2 antennas.
*/
*/
if
(
(
rssi_curr
-
rssi_old
)
>
-
5
||
(
rssi_curr
-
rssi_old
)
<
5
)
if
(
abs
(
rssi_curr
-
rssi_old
)
<
5
)
return
;
return
;
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_MODE_SAMPLE
;
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_MODE_SAMPLE
;
...
@@ -319,15 +321,15 @@ static void rt2x00lib_evaluate_antenna(struct rt2x00_dev *rt2x00dev)
...
@@ -319,15 +321,15 @@ static void rt2x00lib_evaluate_antenna(struct rt2x00_dev *rt2x00dev)
rt2x00dev
->
link
.
ant
.
flags
&=
~
ANTENNA_TX_DIVERSITY
;
rt2x00dev
->
link
.
ant
.
flags
&=
~
ANTENNA_TX_DIVERSITY
;
if
(
rt2x00dev
->
hw
->
conf
.
antenna_sel_rx
==
0
&&
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
;
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_RX_DIVERSITY
;
if
(
rt2x00dev
->
hw
->
conf
.
antenna_sel_tx
==
0
&&
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
;
rt2x00dev
->
link
.
ant
.
flags
|=
ANTENNA_TX_DIVERSITY
;
if
(
!
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
&&
if
(
!
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_RX_DIVERSITY
)
&&
!
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
))
{
!
(
rt2x00dev
->
link
.
ant
.
flags
&
ANTENNA_TX_DIVERSITY
))
{
rt2x00dev
->
link
.
ant
.
flags
&=
~
ANTENNA_MODE_SAMPLE
;
rt2x00dev
->
link
.
ant
.
flags
=
0
;
return
;
return
;
}
}
...
@@ -440,17 +442,18 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
...
@@ -440,17 +442,18 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
if
(
!
test_bit
(
CONFIG_DISABLE_LINK_TUNING
,
&
rt2x00dev
->
flags
))
if
(
!
test_bit
(
CONFIG_DISABLE_LINK_TUNING
,
&
rt2x00dev
->
flags
))
rt2x00dev
->
ops
->
lib
->
link_tuner
(
rt2x00dev
);
rt2x00dev
->
ops
->
lib
->
link_tuner
(
rt2x00dev
);
/*
* Evaluate antenna setup.
*/
rt2x00lib_evaluate_antenna
(
rt2x00dev
);
/*
/*
* Precalculate a portion of the link signal which is
* Precalculate a portion of the link signal which is
* in based on the tx/rx success/failure counters.
* in based on the tx/rx success/failure counters.
*/
*/
rt2x00lib_precalculate_link_signal
(
&
rt2x00dev
->
link
.
qual
);
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.
* Increase tuner counter, and reschedule the next link tuner run.
*/
*/
...
...
drivers/net/wireless/rt2x00/rt2x00reg.h
View file @
60717f7e
...
@@ -85,6 +85,8 @@ enum dev_state {
...
@@ -85,6 +85,8 @@ enum dev_state {
STATE_RADIO_OFF
,
STATE_RADIO_OFF
,
STATE_RADIO_RX_ON
,
STATE_RADIO_RX_ON
,
STATE_RADIO_RX_OFF
,
STATE_RADIO_RX_OFF
,
STATE_RADIO_RX_ON_LINK
,
STATE_RADIO_RX_OFF_LINK
,
STATE_RADIO_IRQ_ON
,
STATE_RADIO_IRQ_ON
,
STATE_RADIO_IRQ_OFF
,
STATE_RADIO_IRQ_OFF
,
};
};
...
...
drivers/net/wireless/rt2x00/rt61pci.c
View file @
60717f7e
...
@@ -1482,8 +1482,12 @@ static int rt61pci_set_device_state(struct rt2x00_dev *rt2x00dev,
...
@@ -1482,8 +1482,12 @@ static int rt61pci_set_device_state(struct rt2x00_dev *rt2x00dev,
rt61pci_disable_radio
(
rt2x00dev
);
rt61pci_disable_radio
(
rt2x00dev
);
break
;
break
;
case
STATE_RADIO_RX_ON
:
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
:
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
;
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/net/wireless/rt2x00/rt73usb.c
View file @
60717f7e
...
@@ -1208,8 +1208,12 @@ static int rt73usb_set_device_state(struct rt2x00_dev *rt2x00dev,
...
@@ -1208,8 +1208,12 @@ static int rt73usb_set_device_state(struct rt2x00_dev *rt2x00dev,
rt73usb_disable_radio
(
rt2x00dev
);
rt73usb_disable_radio
(
rt2x00dev
);
break
;
break
;
case
STATE_RADIO_RX_ON
:
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
:
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
;
break
;
case
STATE_DEEP_SLEEP
:
case
STATE_DEEP_SLEEP
:
case
STATE_SLEEP
:
case
STATE_SLEEP
:
...
...
drivers/ssb/Kconfig
View file @
60717f7e
...
@@ -35,6 +35,11 @@ config SSB_PCIHOST
...
@@ -35,6 +35,11 @@ config SSB_PCIHOST
If unsure, say Y
If unsure, say Y
config SSB_B43_PCI_BRIDGE
bool
depends on SSB_PCIHOST
default n
config SSB_PCMCIAHOST_POSSIBLE
config SSB_PCMCIAHOST_POSSIBLE
bool
bool
depends on SSB && (PCMCIA = y || PCMCIA = SSB) && EXPERIMENTAL
depends on SSB && (PCMCIA = y || PCMCIA = SSB) && EXPERIMENTAL
...
...
drivers/ssb/Makefile
View file @
60717f7e
...
@@ -14,6 +14,6 @@ ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o
...
@@ -14,6 +14,6 @@ ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o
# b43 pci-ssb-bridge driver
# b43 pci-ssb-bridge driver
# Not strictly a part of SSB, but kept here for convenience
# 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
obj-$(CONFIG_SSB)
+=
ssb.o
drivers/ssb/driver_pcicore.c
View file @
60717f7e
...
@@ -393,7 +393,7 @@ static int pcicore_is_in_hostmode(struct ssb_pcicore *pc)
...
@@ -393,7 +393,7 @@ static int pcicore_is_in_hostmode(struct ssb_pcicore *pc)
chipid_top
!=
0x5300
)
chipid_top
!=
0x5300
)
return
0
;
return
0
;
if
(
bus
->
sprom
.
r1
.
boardflags_lo
&
SSB_PCICORE_BFL_NOPCI
)
if
(
bus
->
sprom
.
boardflags_lo
&
SSB_PCICORE_BFL_NOPCI
)
return
0
;
return
0
;
/* The 200-pin BCM4712 package does not bond out PCI. Even when
/* The 200-pin BCM4712 package does not bond out PCI. Even when
...
...
drivers/ssb/ssb_private.h
View file @
60717f7e
...
@@ -120,10 +120,10 @@ extern int ssb_devices_thaw(struct ssb_bus *bus);
...
@@ -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
);
extern
struct
ssb_bus
*
ssb_pci_dev_to_bus
(
struct
pci_dev
*
pdev
);
/* b43_pci_bridge.c */
/* b43_pci_bridge.c */
#ifdef CONFIG_SSB_
PCIHOST
#ifdef CONFIG_SSB_
B43_PCI_BRIDGE
extern
int
__init
b43_pci_ssb_bridge_init
(
void
);
extern
int
__init
b43_pci_ssb_bridge_init
(
void
);
extern
void
__exit
b43_pci_ssb_bridge_exit
(
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
)
static
inline
int
b43_pci_ssb_bridge_init
(
void
)
{
{
return
0
;
return
0
;
...
...
net/mac80211/ieee80211_sta.c
View file @
60717f7e
...
@@ -1116,9 +1116,10 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev,
...
@@ -1116,9 +1116,10 @@ static void ieee80211_sta_process_addba_request(struct net_device *dev,
/* prepare reordering buffer */
/* prepare reordering buffer */
tid_agg_rx
->
reorder_buf
=
tid_agg_rx
->
reorder_buf
=
kmalloc
(
buf_size
*
sizeof
(
struct
sk_buf
*
),
GFP_ATOMIC
);
kmalloc
(
buf_size
*
sizeof
(
struct
sk_buf
*
),
GFP_ATOMIC
);
if
((
!
tid_agg_rx
->
reorder_buf
)
&&
net_ratelimit
())
{
if
(
!
tid_agg_rx
->
reorder_buf
)
{
printk
(
KERN_ERR
"can not allocate reordering buffer "
if
(
net_ratelimit
())
"to tid %d
\n
"
,
tid
);
printk
(
KERN_ERR
"can not allocate reordering buffer "
"to tid %d
\n
"
,
tid
);
goto
end
;
goto
end
;
}
}
memset
(
tid_agg_rx
->
reorder_buf
,
0
,
memset
(
tid_agg_rx
->
reorder_buf
,
0
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment