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
08fdef99
Commit
08fdef99
authored
Aug 18, 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
c1a8f1f1
518ff04f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
14 deletions
+16
-14
drivers/net/wireless/orinoco/hw.c
drivers/net/wireless/orinoco/hw.c
+1
-1
net/mac80211/key.c
net/mac80211/key.c
+15
-13
No files found.
drivers/net/wireless/orinoco/hw.c
View file @
08fdef99
...
...
@@ -70,7 +70,7 @@ int orinoco_hw_get_tkip_iv(struct orinoco_private *priv, int key, u8 *tsc)
int
err
=
0
;
u8
tsc_arr
[
4
][
IW_ENCODE_SEQ_MAX_SIZE
];
if
((
key
<
0
)
||
(
key
>
4
))
if
((
key
<
0
)
||
(
key
>
=
4
))
return
-
EINVAL
;
err
=
hermes_read_ltv
(
hw
,
USER_BAP
,
HERMES_RID_CURRENT_TKIP_IV
,
...
...
net/mac80211/key.c
View file @
08fdef99
...
...
@@ -67,6 +67,8 @@ static DECLARE_WORK(todo_work, key_todo);
*
* @key: key to add to do item for
* @flag: todo flag(s)
*
* Must be called with IRQs or softirqs disabled.
*/
static
void
add_todo
(
struct
ieee80211_key
*
key
,
u32
flag
)
{
...
...
@@ -140,9 +142,9 @@ static void ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
ret
=
drv_set_key
(
key
->
local
,
SET_KEY
,
&
sdata
->
vif
,
sta
,
&
key
->
conf
);
if
(
!
ret
)
{
spin_lock
(
&
todo_lock
);
spin_lock
_bh
(
&
todo_lock
);
key
->
flags
|=
KEY_FLAG_UPLOADED_TO_HARDWARE
;
spin_unlock
(
&
todo_lock
);
spin_unlock
_bh
(
&
todo_lock
);
}
if
(
ret
&&
ret
!=
-
ENOSPC
&&
ret
!=
-
EOPNOTSUPP
)
...
...
@@ -164,12 +166,12 @@ static void ieee80211_key_disable_hw_accel(struct ieee80211_key *key)
if
(
!
key
||
!
key
->
local
->
ops
->
set_key
)
return
;
spin_lock
(
&
todo_lock
);
spin_lock
_bh
(
&
todo_lock
);
if
(
!
(
key
->
flags
&
KEY_FLAG_UPLOADED_TO_HARDWARE
))
{
spin_unlock
(
&
todo_lock
);
spin_unlock
_bh
(
&
todo_lock
);
return
;
}
spin_unlock
(
&
todo_lock
);
spin_unlock
_bh
(
&
todo_lock
);
sta
=
get_sta_for_key
(
key
);
sdata
=
key
->
sdata
;
...
...
@@ -188,9 +190,9 @@ static void ieee80211_key_disable_hw_accel(struct ieee80211_key *key)
wiphy_name
(
key
->
local
->
hw
.
wiphy
),
key
->
conf
.
keyidx
,
sta
?
sta
->
addr
:
bcast_addr
,
ret
);
spin_lock
(
&
todo_lock
);
spin_lock
_bh
(
&
todo_lock
);
key
->
flags
&=
~
KEY_FLAG_UPLOADED_TO_HARDWARE
;
spin_unlock
(
&
todo_lock
);
spin_unlock
_bh
(
&
todo_lock
);
}
static
void
__ieee80211_set_default_key
(
struct
ieee80211_sub_if_data
*
sdata
,
...
...
@@ -437,14 +439,14 @@ void ieee80211_key_link(struct ieee80211_key *key,
__ieee80211_key_replace
(
sdata
,
sta
,
old_key
,
key
);
spin_unlock_irqrestore
(
&
sdata
->
local
->
key_lock
,
flags
);
/* free old key later */
add_todo
(
old_key
,
KEY_FLAG_TODO_DELETE
);
add_todo
(
key
,
KEY_FLAG_TODO_ADD_DEBUGFS
);
if
(
netif_running
(
sdata
->
dev
))
add_todo
(
key
,
KEY_FLAG_TODO_HWACCEL_ADD
);
spin_unlock_irqrestore
(
&
sdata
->
local
->
key_lock
,
flags
);
}
static
void
__ieee80211_key_free
(
struct
ieee80211_key
*
key
)
...
...
@@ -547,7 +549,7 @@ static void __ieee80211_key_todo(void)
*/
synchronize_rcu
();
spin_lock
(
&
todo_lock
);
spin_lock
_bh
(
&
todo_lock
);
while
(
!
list_empty
(
&
todo_list
))
{
key
=
list_first_entry
(
&
todo_list
,
struct
ieee80211_key
,
todo
);
list_del_init
(
&
key
->
todo
);
...
...
@@ -558,7 +560,7 @@ static void __ieee80211_key_todo(void)
KEY_FLAG_TODO_HWACCEL_REMOVE
|
KEY_FLAG_TODO_DELETE
);
key
->
flags
&=
~
todoflags
;
spin_unlock
(
&
todo_lock
);
spin_unlock
_bh
(
&
todo_lock
);
work_done
=
false
;
...
...
@@ -591,9 +593,9 @@ static void __ieee80211_key_todo(void)
WARN_ON
(
!
work_done
);
spin_lock
(
&
todo_lock
);
spin_lock
_bh
(
&
todo_lock
);
}
spin_unlock
(
&
todo_lock
);
spin_unlock
_bh
(
&
todo_lock
);
}
void
ieee80211_key_todo
(
void
)
...
...
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