Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
b5b51509
Commit
b5b51509
authored
Nov 23, 2009
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
dcfcb256
45ba564d
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
28 additions
and
20 deletions
+28
-20
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/main.c
+2
-0
net/mac80211/agg-tx.c
net/mac80211/agg-tx.c
+8
-10
net/mac80211/ieee80211_i.h
net/mac80211/ieee80211_i.h
+8
-0
net/mac80211/util.c
net/mac80211/util.c
+9
-10
net/rfkill/core.c
net/rfkill/core.c
+1
-0
No files found.
drivers/net/wireless/ath/ath9k/main.c
View file @
b5b51509
...
...
@@ -1555,6 +1555,8 @@ void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw)
BIT
(
NL80211_IFTYPE_ADHOC
)
|
BIT
(
NL80211_IFTYPE_MESH_POINT
);
hw
->
wiphy
->
ps_default
=
false
;
hw
->
queues
=
4
;
hw
->
max_rates
=
4
;
hw
->
channel_change_time
=
5000
;
...
...
net/mac80211/agg-tx.c
View file @
b5b51509
...
...
@@ -173,12 +173,14 @@ static void sta_addba_resp_timer_expired(unsigned long data)
/* check if the TID waits for addBA response */
spin_lock_bh
(
&
sta
->
lock
);
if
(
!
(
*
state
&
HT_ADDBA_REQUESTED_MSK
))
{
if
((
*
state
&
(
HT_ADDBA_REQUESTED_MSK
|
HT_ADDBA_RECEIVED_MSK
))
!=
HT_ADDBA_REQUESTED_MSK
)
{
spin_unlock_bh
(
&
sta
->
lock
);
*
state
=
HT_AGG_STATE_IDLE
;
#ifdef CONFIG_MAC80211_HT_DEBUG
printk
(
KERN_DEBUG
"timer expired on tid %d but we are not "
"expecting addBA response there"
,
tid
);
"(or no longer) expecting addBA response there"
,
tid
);
#endif
return
;
}
...
...
@@ -666,21 +668,21 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
state
=
&
sta
->
ampdu_mlme
.
tid_state_tx
[
tid
];
del_timer_sync
(
&
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
addba_resp_timer
);
spin_lock_bh
(
&
sta
->
lock
);
if
(
!
(
*
state
&
HT_ADDBA_REQUESTED_MSK
))
goto
timer_still_needed
;
goto
out
;
if
(
mgmt
->
u
.
action
.
u
.
addba_resp
.
dialog_token
!=
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
dialog_token
)
{
#ifdef CONFIG_MAC80211_HT_DEBUG
printk
(
KERN_DEBUG
"wrong addBA response token, tid %d
\n
"
,
tid
);
#endif
/* CONFIG_MAC80211_HT_DEBUG */
goto
timer_still_needed
;
goto
out
;
}
del_timer
(
&
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
addba_resp_timer
);
#ifdef CONFIG_MAC80211_HT_DEBUG
printk
(
KERN_DEBUG
"switched off addBA timer for tid %d
\n
"
,
tid
);
#endif
/* CONFIG_MAC80211_HT_DEBUG */
...
...
@@ -699,10 +701,6 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
___ieee80211_stop_tx_ba_session
(
sta
,
tid
,
WLAN_BACK_INITIATOR
);
}
goto
out
;
timer_still_needed:
add_timer
(
&
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
addba_resp_timer
);
out:
spin_unlock_bh
(
&
sta
->
lock
);
}
net/mac80211/ieee80211_i.h
View file @
b5b51509
...
...
@@ -661,6 +661,14 @@ struct ieee80211_local {
*/
bool
suspended
;
/*
* Resuming is true while suspended, but when we're reprogramming the
* hardware -- at that time it's allowed to use ieee80211_queue_work()
* again even though some other parts of the stack are still suspended
* and we still drop received frames to avoid waking the stack.
*/
bool
resuming
;
/*
* quiescing is true during the suspend process _only_ to
* ease timer cancelling etc.
...
...
net/mac80211/util.c
View file @
b5b51509
...
...
@@ -520,9 +520,9 @@ EXPORT_SYMBOL_GPL(ieee80211_iterate_active_interfaces_atomic);
*/
static
bool
ieee80211_can_queue_work
(
struct
ieee80211_local
*
local
)
{
if
(
WARN
(
local
->
suspended
,
"queueing ieee80211 work while "
"going to suspend
\n
"
))
return
false
;
if
(
WARN
(
local
->
suspended
&&
!
local
->
resuming
,
"
queueing ieee80211 work while
going to suspend
\n
"
))
return
false
;
return
true
;
}
...
...
@@ -1025,13 +1025,9 @@ int ieee80211_reconfig(struct ieee80211_local *local)
struct
sta_info
*
sta
;
unsigned
long
flags
;
int
res
;
bool
from_suspend
=
local
->
suspended
;
/*
* We're going to start the hardware, at that point
* we are no longer suspended and can RX frames.
*/
local
->
suspended
=
false
;
if
(
local
->
suspended
)
local
->
resuming
=
true
;
/* restart hardware */
if
(
local
->
open_count
)
{
...
...
@@ -1129,11 +1125,14 @@ int ieee80211_reconfig(struct ieee80211_local *local)
* If this is for hw restart things are still running.
* We may want to change that later, however.
*/
if
(
!
from_suspen
d
)
if
(
!
local
->
suspende
d
)
return
0
;
#ifdef CONFIG_PM
/* first set suspended false, then resuming */
local
->
suspended
=
false
;
mb
();
local
->
resuming
=
false
;
list_for_each_entry
(
sdata
,
&
local
->
interfaces
,
list
)
{
switch
(
sdata
->
vif
.
type
)
{
...
...
net/rfkill/core.c
View file @
b5b51509
...
...
@@ -1189,6 +1189,7 @@ static long rfkill_fop_ioctl(struct file *file, unsigned int cmd,
#endif
static
const
struct
file_operations
rfkill_fops
=
{
.
owner
=
THIS_MODULE
,
.
open
=
rfkill_fop_open
,
.
read
=
rfkill_fop_read
,
.
write
=
rfkill_fop_write
,
...
...
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