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
e46754f8
Commit
e46754f8
authored
Apr 20, 2010
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
parents
ef9e83c1
fe6f212c
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
31 additions
and
16 deletions
+31
-16
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-6000.c
+2
-2
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-agn.c
+1
-0
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.c
+0
-1
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/net/wireless/iwlwifi/iwl-core.h
+1
-1
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-dev.h
+1
-0
drivers/net/wireless/iwlwifi/iwl-eeprom.h
drivers/net/wireless/iwlwifi/iwl-eeprom.h
+4
-0
drivers/net/wireless/iwlwifi/iwl-scan.c
drivers/net/wireless/iwlwifi/iwl-scan.c
+20
-11
net/mac80211/agg-tx.c
net/mac80211/agg-tx.c
+0
-1
net/mac80211/mlme.c
net/mac80211/mlme.c
+2
-0
No files found.
drivers/net/wireless/iwlwifi/iwl-6000.c
View file @
e46754f8
...
@@ -259,7 +259,7 @@ static struct iwl_lib_ops iwl6000_lib = {
...
@@ -259,7 +259,7 @@ static struct iwl_lib_ops iwl6000_lib = {
EEPROM_5000_REG_BAND_3_CHANNELS
,
EEPROM_5000_REG_BAND_3_CHANNELS
,
EEPROM_5000_REG_BAND_4_CHANNELS
,
EEPROM_5000_REG_BAND_4_CHANNELS
,
EEPROM_5000_REG_BAND_5_CHANNELS
,
EEPROM_5000_REG_BAND_5_CHANNELS
,
EEPROM_
5
000_REG_BAND_24_HT40_CHANNELS
,
EEPROM_
6
000_REG_BAND_24_HT40_CHANNELS
,
EEPROM_5000_REG_BAND_52_HT40_CHANNELS
EEPROM_5000_REG_BAND_52_HT40_CHANNELS
},
},
.
verify_signature
=
iwlcore_eeprom_verify_signature
,
.
verify_signature
=
iwlcore_eeprom_verify_signature
,
...
@@ -323,7 +323,7 @@ static struct iwl_lib_ops iwl6050_lib = {
...
@@ -323,7 +323,7 @@ static struct iwl_lib_ops iwl6050_lib = {
EEPROM_5000_REG_BAND_3_CHANNELS
,
EEPROM_5000_REG_BAND_3_CHANNELS
,
EEPROM_5000_REG_BAND_4_CHANNELS
,
EEPROM_5000_REG_BAND_4_CHANNELS
,
EEPROM_5000_REG_BAND_5_CHANNELS
,
EEPROM_5000_REG_BAND_5_CHANNELS
,
EEPROM_
5
000_REG_BAND_24_HT40_CHANNELS
,
EEPROM_
6
000_REG_BAND_24_HT40_CHANNELS
,
EEPROM_5000_REG_BAND_52_HT40_CHANNELS
EEPROM_5000_REG_BAND_52_HT40_CHANNELS
},
},
.
verify_signature
=
iwlcore_eeprom_verify_signature
,
.
verify_signature
=
iwlcore_eeprom_verify_signature
,
...
...
drivers/net/wireless/iwlwifi/iwl-agn.c
View file @
e46754f8
...
@@ -3331,6 +3331,7 @@ static void iwl_cancel_deferred_work(struct iwl_priv *priv)
...
@@ -3331,6 +3331,7 @@ static void iwl_cancel_deferred_work(struct iwl_priv *priv)
cancel_delayed_work_sync
(
&
priv
->
init_alive_start
);
cancel_delayed_work_sync
(
&
priv
->
init_alive_start
);
cancel_delayed_work
(
&
priv
->
scan_check
);
cancel_delayed_work
(
&
priv
->
scan_check
);
cancel_work_sync
(
&
priv
->
start_internal_scan
);
cancel_delayed_work
(
&
priv
->
alive_start
);
cancel_delayed_work
(
&
priv
->
alive_start
);
cancel_work_sync
(
&
priv
->
beacon_update
);
cancel_work_sync
(
&
priv
->
beacon_update
);
del_timer_sync
(
&
priv
->
statistics_periodic
);
del_timer_sync
(
&
priv
->
statistics_periodic
);
...
...
drivers/net/wireless/iwlwifi/iwl-core.c
View file @
e46754f8
...
@@ -3358,7 +3358,6 @@ static void iwl_force_rf_reset(struct iwl_priv *priv)
...
@@ -3358,7 +3358,6 @@ static void iwl_force_rf_reset(struct iwl_priv *priv)
*/
*/
IWL_DEBUG_INFO
(
priv
,
"perform radio reset.
\n
"
);
IWL_DEBUG_INFO
(
priv
,
"perform radio reset.
\n
"
);
iwl_internal_short_hw_scan
(
priv
);
iwl_internal_short_hw_scan
(
priv
);
return
;
}
}
...
...
drivers/net/wireless/iwlwifi/iwl-core.h
View file @
e46754f8
...
@@ -506,7 +506,7 @@ void iwl_init_scan_params(struct iwl_priv *priv);
...
@@ -506,7 +506,7 @@ void iwl_init_scan_params(struct iwl_priv *priv);
int
iwl_scan_cancel
(
struct
iwl_priv
*
priv
);
int
iwl_scan_cancel
(
struct
iwl_priv
*
priv
);
int
iwl_scan_cancel_timeout
(
struct
iwl_priv
*
priv
,
unsigned
long
ms
);
int
iwl_scan_cancel_timeout
(
struct
iwl_priv
*
priv
,
unsigned
long
ms
);
int
iwl_mac_hw_scan
(
struct
ieee80211_hw
*
hw
,
struct
cfg80211_scan_request
*
req
);
int
iwl_mac_hw_scan
(
struct
ieee80211_hw
*
hw
,
struct
cfg80211_scan_request
*
req
);
int
iwl_internal_short_hw_scan
(
struct
iwl_priv
*
priv
);
void
iwl_internal_short_hw_scan
(
struct
iwl_priv
*
priv
);
int
iwl_force_reset
(
struct
iwl_priv
*
priv
,
int
mode
);
int
iwl_force_reset
(
struct
iwl_priv
*
priv
,
int
mode
);
u16
iwl_fill_probe_req
(
struct
iwl_priv
*
priv
,
struct
ieee80211_mgmt
*
frame
,
u16
iwl_fill_probe_req
(
struct
iwl_priv
*
priv
,
struct
ieee80211_mgmt
*
frame
,
const
u8
*
ie
,
int
ie_len
,
int
left
);
const
u8
*
ie
,
int
ie_len
,
int
left
);
...
...
drivers/net/wireless/iwlwifi/iwl-dev.h
View file @
e46754f8
...
@@ -1296,6 +1296,7 @@ struct iwl_priv {
...
@@ -1296,6 +1296,7 @@ struct iwl_priv {
struct
work_struct
tt_work
;
struct
work_struct
tt_work
;
struct
work_struct
ct_enter
;
struct
work_struct
ct_enter
;
struct
work_struct
ct_exit
;
struct
work_struct
ct_exit
;
struct
work_struct
start_internal_scan
;
struct
tasklet_struct
irq_tasklet
;
struct
tasklet_struct
irq_tasklet
;
...
...
drivers/net/wireless/iwlwifi/iwl-eeprom.h
View file @
e46754f8
...
@@ -203,6 +203,10 @@ struct iwl_eeprom_enhanced_txpwr {
...
@@ -203,6 +203,10 @@ struct iwl_eeprom_enhanced_txpwr {
#define EEPROM_5000_REG_BAND_52_HT40_CHANNELS ((0x92)\
#define EEPROM_5000_REG_BAND_52_HT40_CHANNELS ((0x92)\
| INDIRECT_ADDRESS | INDIRECT_REGULATORY)
/* 22 bytes */
| INDIRECT_ADDRESS | INDIRECT_REGULATORY)
/* 22 bytes */
/* 6000 regulatory - indirect access */
#define EEPROM_6000_REG_BAND_24_HT40_CHANNELS ((0x80)\
| INDIRECT_ADDRESS | INDIRECT_REGULATORY)
/* 14 bytes */
/* 6000 and up regulatory tx power - indirect access */
/* 6000 and up regulatory tx power - indirect access */
/* max. elements per section */
/* max. elements per section */
#define EEPROM_MAX_TXPOWER_SECTION_ELEMENTS (8)
#define EEPROM_MAX_TXPOWER_SECTION_ELEMENTS (8)
...
...
drivers/net/wireless/iwlwifi/iwl-scan.c
View file @
e46754f8
...
@@ -470,6 +470,8 @@ EXPORT_SYMBOL(iwl_init_scan_params);
...
@@ -470,6 +470,8 @@ EXPORT_SYMBOL(iwl_init_scan_params);
static
int
iwl_scan_initiate
(
struct
iwl_priv
*
priv
)
static
int
iwl_scan_initiate
(
struct
iwl_priv
*
priv
)
{
{
WARN_ON
(
!
mutex_is_locked
(
&
priv
->
mutex
));
IWL_DEBUG_INFO
(
priv
,
"Starting scan...
\n
"
);
IWL_DEBUG_INFO
(
priv
,
"Starting scan...
\n
"
);
set_bit
(
STATUS_SCANNING
,
&
priv
->
status
);
set_bit
(
STATUS_SCANNING
,
&
priv
->
status
);
priv
->
is_internal_short_scan
=
false
;
priv
->
is_internal_short_scan
=
false
;
...
@@ -547,24 +549,31 @@ EXPORT_SYMBOL(iwl_mac_hw_scan);
...
@@ -547,24 +549,31 @@ EXPORT_SYMBOL(iwl_mac_hw_scan);
* internal short scan, this function should only been called while associated.
* internal short scan, this function should only been called while associated.
* It will reset and tune the radio to prevent possible RF related problem
* It will reset and tune the radio to prevent possible RF related problem
*/
*/
int
iwl_internal_short_hw_scan
(
struct
iwl_priv
*
priv
)
void
iwl_internal_short_hw_scan
(
struct
iwl_priv
*
priv
)
{
{
int
ret
=
0
;
queue_work
(
priv
->
workqueue
,
&
priv
->
start_internal_scan
);
}
static
void
iwl_bg_start_internal_scan
(
struct
work_struct
*
work
)
{
struct
iwl_priv
*
priv
=
container_of
(
work
,
struct
iwl_priv
,
start_internal_scan
);
mutex_lock
(
&
priv
->
mutex
);
if
(
!
iwl_is_ready_rf
(
priv
))
{
if
(
!
iwl_is_ready_rf
(
priv
))
{
ret
=
-
EIO
;
IWL_DEBUG_SCAN
(
priv
,
"not ready or exit pending
\n
"
);
IWL_DEBUG_SCAN
(
priv
,
"not ready or exit pending
\n
"
);
goto
out
;
goto
unlock
;
}
}
if
(
test_bit
(
STATUS_SCANNING
,
&
priv
->
status
))
{
if
(
test_bit
(
STATUS_SCANNING
,
&
priv
->
status
))
{
IWL_DEBUG_SCAN
(
priv
,
"Scan already in progress.
\n
"
);
IWL_DEBUG_SCAN
(
priv
,
"Scan already in progress.
\n
"
);
ret
=
-
EAGAIN
;
goto
unlock
;
goto
out
;
}
}
if
(
test_bit
(
STATUS_SCAN_ABORTING
,
&
priv
->
status
))
{
if
(
test_bit
(
STATUS_SCAN_ABORTING
,
&
priv
->
status
))
{
IWL_DEBUG_SCAN
(
priv
,
"Scan request while abort pending
\n
"
);
IWL_DEBUG_SCAN
(
priv
,
"Scan request while abort pending
\n
"
);
ret
=
-
EAGAIN
;
goto
unlock
;
goto
out
;
}
}
priv
->
scan_bands
=
0
;
priv
->
scan_bands
=
0
;
...
@@ -577,9 +586,8 @@ int iwl_internal_short_hw_scan(struct iwl_priv *priv)
...
@@ -577,9 +586,8 @@ int iwl_internal_short_hw_scan(struct iwl_priv *priv)
set_bit
(
STATUS_SCANNING
,
&
priv
->
status
);
set_bit
(
STATUS_SCANNING
,
&
priv
->
status
);
priv
->
is_internal_short_scan
=
true
;
priv
->
is_internal_short_scan
=
true
;
queue_work
(
priv
->
workqueue
,
&
priv
->
request_scan
);
queue_work
(
priv
->
workqueue
,
&
priv
->
request_scan
);
unlock:
out:
mutex_unlock
(
&
priv
->
mutex
);
return
ret
;
}
}
EXPORT_SYMBOL
(
iwl_internal_short_hw_scan
);
EXPORT_SYMBOL
(
iwl_internal_short_hw_scan
);
...
@@ -965,6 +973,7 @@ void iwl_setup_scan_deferred_work(struct iwl_priv *priv)
...
@@ -965,6 +973,7 @@ void iwl_setup_scan_deferred_work(struct iwl_priv *priv)
INIT_WORK
(
&
priv
->
scan_completed
,
iwl_bg_scan_completed
);
INIT_WORK
(
&
priv
->
scan_completed
,
iwl_bg_scan_completed
);
INIT_WORK
(
&
priv
->
request_scan
,
iwl_bg_request_scan
);
INIT_WORK
(
&
priv
->
request_scan
,
iwl_bg_request_scan
);
INIT_WORK
(
&
priv
->
abort_scan
,
iwl_bg_abort_scan
);
INIT_WORK
(
&
priv
->
abort_scan
,
iwl_bg_abort_scan
);
INIT_WORK
(
&
priv
->
start_internal_scan
,
iwl_bg_start_internal_scan
);
INIT_DELAYED_WORK
(
&
priv
->
scan_check
,
iwl_bg_scan_check
);
INIT_DELAYED_WORK
(
&
priv
->
scan_check
,
iwl_bg_scan_check
);
}
}
EXPORT_SYMBOL
(
iwl_setup_scan_deferred_work
);
EXPORT_SYMBOL
(
iwl_setup_scan_deferred_work
);
...
...
net/mac80211/agg-tx.c
View file @
e46754f8
...
@@ -184,7 +184,6 @@ static void sta_addba_resp_timer_expired(unsigned long data)
...
@@ -184,7 +184,6 @@ static void sta_addba_resp_timer_expired(unsigned long data)
HT_AGG_STATE_REQ_STOP_BA_MSK
))
!=
HT_AGG_STATE_REQ_STOP_BA_MSK
))
!=
HT_ADDBA_REQUESTED_MSK
)
{
HT_ADDBA_REQUESTED_MSK
)
{
spin_unlock_bh
(
&
sta
->
lock
);
spin_unlock_bh
(
&
sta
->
lock
);
*
state
=
HT_AGG_STATE_IDLE
;
#ifdef CONFIG_MAC80211_HT_DEBUG
#ifdef CONFIG_MAC80211_HT_DEBUG
printk
(
KERN_DEBUG
"timer expired on tid %d but we are not "
printk
(
KERN_DEBUG
"timer expired on tid %d but we are not "
"(or no longer) expecting addBA response there"
,
"(or no longer) expecting addBA response there"
,
...
...
net/mac80211/mlme.c
View file @
e46754f8
...
@@ -168,6 +168,8 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
...
@@ -168,6 +168,8 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
ht_changed
=
conf_is_ht
(
&
local
->
hw
.
conf
)
!=
enable_ht
||
ht_changed
=
conf_is_ht
(
&
local
->
hw
.
conf
)
!=
enable_ht
||
channel_type
!=
local
->
hw
.
conf
.
channel_type
;
channel_type
!=
local
->
hw
.
conf
.
channel_type
;
if
(
local
->
tmp_channel
)
local
->
tmp_channel_type
=
channel_type
;
local
->
oper_channel_type
=
channel_type
;
local
->
oper_channel_type
=
channel_type
;
if
(
ht_changed
)
{
if
(
ht_changed
)
{
...
...
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