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
2a64cc4b
Commit
2a64cc4b
authored
Jun 30, 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
aebb6a84
23976efe
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
32 additions
and
17 deletions
+32
-17
drivers/net/wireless/hostap/hostap_80211_rx.c
drivers/net/wireless/hostap/hostap_80211_rx.c
+4
-4
drivers/net/wireless/hostap/hostap_ap.c
drivers/net/wireless/hostap/hostap_ap.c
+1
-1
drivers/net/wireless/hostap/hostap_cs.c
drivers/net/wireless/hostap/hostap_cs.c
+4
-4
drivers/net/wireless/hostap/hostap_hw.c
drivers/net/wireless/hostap/hostap_hw.c
+5
-5
drivers/net/wireless/hostap/hostap_main.c
drivers/net/wireless/hostap/hostap_main.c
+2
-3
include/net/mac80211.h
include/net/mac80211.h
+9
-0
net/mac80211/wext.c
net/mac80211/wext.c
+7
-0
No files found.
drivers/net/wireless/hostap/hostap_80211_rx.c
View file @
2a64cc4b
...
@@ -64,7 +64,7 @@ int prism2_rx_80211(struct net_device *dev, struct sk_buff *skb,
...
@@ -64,7 +64,7 @@ int prism2_rx_80211(struct net_device *dev, struct sk_buff *skb,
int
hdrlen
,
phdrlen
,
head_need
,
tail_need
;
int
hdrlen
,
phdrlen
,
head_need
,
tail_need
;
u16
fc
;
u16
fc
;
int
prism_header
,
ret
;
int
prism_header
,
ret
;
struct
ieee80211_hdr_4addr
*
hdr
;
struct
ieee80211_hdr_4addr
*
f
hdr
;
iface
=
netdev_priv
(
dev
);
iface
=
netdev_priv
(
dev
);
local
=
iface
->
local
;
local
=
iface
->
local
;
...
@@ -83,8 +83,8 @@ int prism2_rx_80211(struct net_device *dev, struct sk_buff *skb,
...
@@ -83,8 +83,8 @@ int prism2_rx_80211(struct net_device *dev, struct sk_buff *skb,
phdrlen
=
0
;
phdrlen
=
0
;
}
}
hdr
=
(
struct
ieee80211_hdr_4addr
*
)
skb
->
data
;
f
hdr
=
(
struct
ieee80211_hdr_4addr
*
)
skb
->
data
;
fc
=
le16_to_cpu
(
hdr
->
frame_ctl
);
fc
=
le16_to_cpu
(
f
hdr
->
frame_ctl
);
if
(
type
==
PRISM2_RX_MGMT
&&
(
fc
&
IEEE80211_FCTL_VERS
))
{
if
(
type
==
PRISM2_RX_MGMT
&&
(
fc
&
IEEE80211_FCTL_VERS
))
{
printk
(
KERN_DEBUG
"%s: dropped management frame with header "
printk
(
KERN_DEBUG
"%s: dropped management frame with header "
...
@@ -551,7 +551,7 @@ hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
...
@@ -551,7 +551,7 @@ hostap_rx_frame_wds(local_info_t *local, struct ieee80211_hdr_4addr *hdr,
hdr
->
addr1
[
2
]
!=
0xff
||
hdr
->
addr1
[
3
]
!=
0xff
||
hdr
->
addr1
[
2
]
!=
0xff
||
hdr
->
addr1
[
3
]
!=
0xff
||
hdr
->
addr1
[
4
]
!=
0xff
||
hdr
->
addr1
[
5
]
!=
0xff
))
{
hdr
->
addr1
[
4
]
!=
0xff
||
hdr
->
addr1
[
5
]
!=
0xff
))
{
/* RA (or BSSID) is not ours - drop */
/* RA (or BSSID) is not ours - drop */
PDEBUG
(
DEBUG_EXTRA
,
"%s: received WDS frame with "
PDEBUG
(
DEBUG_EXTRA
2
,
"%s: received WDS frame with "
"not own or broadcast %s=%s
\n
"
,
"not own or broadcast %s=%s
\n
"
,
local
->
dev
->
name
,
local
->
dev
->
name
,
fc
&
IEEE80211_FCTL_FROMDS
?
"RA"
:
"BSSID"
,
fc
&
IEEE80211_FCTL_FROMDS
?
"RA"
:
"BSSID"
,
...
...
drivers/net/wireless/hostap/hostap_ap.c
View file @
2a64cc4b
...
@@ -1930,7 +1930,7 @@ static void handle_pspoll(local_info_t *local,
...
@@ -1930,7 +1930,7 @@ static void handle_pspoll(local_info_t *local,
PDEBUG
(
DEBUG_PS
,
" PSPOLL and AID[15:14] not set
\n
"
);
PDEBUG
(
DEBUG_PS
,
" PSPOLL and AID[15:14] not set
\n
"
);
return
;
return
;
}
}
aid
&=
~
BIT
(
15
)
&
~
BIT
(
14
);
aid
&=
~
(
BIT
(
15
)
|
BIT
(
14
)
);
if
(
aid
==
0
||
aid
>
MAX_AID_TABLE_SIZE
)
{
if
(
aid
==
0
||
aid
>
MAX_AID_TABLE_SIZE
)
{
PDEBUG
(
DEBUG_PS
,
" invalid aid=%d
\n
"
,
aid
);
PDEBUG
(
DEBUG_PS
,
" invalid aid=%d
\n
"
,
aid
);
return
;
return
;
...
...
drivers/net/wireless/hostap/hostap_cs.c
View file @
2a64cc4b
...
@@ -533,10 +533,10 @@ static void prism2_detach(struct pcmcia_device *link)
...
@@ -533,10 +533,10 @@ static void prism2_detach(struct pcmcia_device *link)
do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)
do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)
#define CFG_CHECK2(fn, retf) \
#define CFG_CHECK2(fn, retf) \
do { int ret = (retf); \
do { int
_
ret = (retf); \
if (ret != 0) { \
if (
_
ret != 0) { \
PDEBUG(DEBUG_EXTRA, "CardServices(" #fn ") returned %d\n", ret); \
PDEBUG(DEBUG_EXTRA, "CardServices(" #fn ") returned %d\n",
_
ret); \
cs_error(link, fn, ret); \
cs_error(link, fn,
_
ret); \
goto next_entry; \
goto next_entry; \
} \
} \
} while (0)
} while (0)
...
...
drivers/net/wireless/hostap/hostap_hw.c
View file @
2a64cc4b
...
@@ -2835,7 +2835,7 @@ static void hostap_passive_scan(unsigned long data)
...
@@ -2835,7 +2835,7 @@ static void hostap_passive_scan(unsigned long data)
{
{
local_info_t
*
local
=
(
local_info_t
*
)
data
;
local_info_t
*
local
=
(
local_info_t
*
)
data
;
struct
net_device
*
dev
=
local
->
dev
;
struct
net_device
*
dev
=
local
->
dev
;
u16
chan
nel
;
u16
chan
;
if
(
local
->
passive_scan_interval
<=
0
)
if
(
local
->
passive_scan_interval
<=
0
)
return
;
return
;
...
@@ -2872,11 +2872,11 @@ static void hostap_passive_scan(unsigned long data)
...
@@ -2872,11 +2872,11 @@ static void hostap_passive_scan(unsigned long data)
printk
(
KERN_DEBUG
"%s: passive scan channel %d
\n
"
,
printk
(
KERN_DEBUG
"%s: passive scan channel %d
\n
"
,
dev
->
name
,
local
->
passive_scan_channel
);
dev
->
name
,
local
->
passive_scan_channel
);
chan
nel
=
local
->
passive_scan_channel
;
chan
=
local
->
passive_scan_channel
;
local
->
passive_scan_state
=
PASSIVE_SCAN_WAIT
;
local
->
passive_scan_state
=
PASSIVE_SCAN_WAIT
;
local
->
passive_scan_timer
.
expires
=
jiffies
+
HZ
/
10
;
local
->
passive_scan_timer
.
expires
=
jiffies
+
HZ
/
10
;
}
else
{
}
else
{
chan
nel
=
local
->
channel
;
chan
=
local
->
channel
;
local
->
passive_scan_state
=
PASSIVE_SCAN_LISTEN
;
local
->
passive_scan_state
=
PASSIVE_SCAN_LISTEN
;
local
->
passive_scan_timer
.
expires
=
jiffies
+
local
->
passive_scan_timer
.
expires
=
jiffies
+
local
->
passive_scan_interval
*
HZ
;
local
->
passive_scan_interval
*
HZ
;
...
@@ -2884,9 +2884,9 @@ static void hostap_passive_scan(unsigned long data)
...
@@ -2884,9 +2884,9 @@ static void hostap_passive_scan(unsigned long data)
if
(
hfa384x_cmd_callback
(
dev
,
HFA384X_CMDCODE_TEST
|
if
(
hfa384x_cmd_callback
(
dev
,
HFA384X_CMDCODE_TEST
|
(
HFA384X_TEST_CHANGE_CHANNEL
<<
8
),
(
HFA384X_TEST_CHANGE_CHANNEL
<<
8
),
chan
nel
,
NULL
,
0
))
chan
,
NULL
,
0
))
printk
(
KERN_ERR
"%s: passive scan channel set %d "
printk
(
KERN_ERR
"%s: passive scan channel set %d "
"failed
\n
"
,
dev
->
name
,
chan
nel
);
"failed
\n
"
,
dev
->
name
,
chan
);
add_timer
(
&
local
->
passive_scan_timer
);
add_timer
(
&
local
->
passive_scan_timer
);
}
}
...
...
drivers/net/wireless/hostap/hostap_main.c
View file @
2a64cc4b
...
@@ -594,7 +594,8 @@ void hostap_dump_tx_header(const char *name, const struct hfa384x_tx_frame *tx)
...
@@ -594,7 +594,8 @@ void hostap_dump_tx_header(const char *name, const struct hfa384x_tx_frame *tx)
}
}
int
hostap_80211_header_parse
(
const
struct
sk_buff
*
skb
,
unsigned
char
*
haddr
)
static
int
hostap_80211_header_parse
(
const
struct
sk_buff
*
skb
,
unsigned
char
*
haddr
)
{
{
struct
hostap_interface
*
iface
=
netdev_priv
(
skb
->
dev
);
struct
hostap_interface
*
iface
=
netdev_priv
(
skb
->
dev
);
local_info_t
*
local
=
iface
->
local
;
local_info_t
*
local
=
iface
->
local
;
...
@@ -857,7 +858,6 @@ const struct header_ops hostap_80211_ops = {
...
@@ -857,7 +858,6 @@ const struct header_ops hostap_80211_ops = {
.
rebuild
=
eth_rebuild_header
,
.
rebuild
=
eth_rebuild_header
,
.
cache
=
eth_header_cache
,
.
cache
=
eth_header_cache
,
.
cache_update
=
eth_header_cache_update
,
.
cache_update
=
eth_header_cache_update
,
.
parse
=
hostap_80211_header_parse
,
.
parse
=
hostap_80211_header_parse
,
};
};
EXPORT_SYMBOL
(
hostap_80211_ops
);
EXPORT_SYMBOL
(
hostap_80211_ops
);
...
@@ -1150,7 +1150,6 @@ EXPORT_SYMBOL(hostap_set_roaming);
...
@@ -1150,7 +1150,6 @@ EXPORT_SYMBOL(hostap_set_roaming);
EXPORT_SYMBOL
(
hostap_set_auth_algs
);
EXPORT_SYMBOL
(
hostap_set_auth_algs
);
EXPORT_SYMBOL
(
hostap_dump_rx_header
);
EXPORT_SYMBOL
(
hostap_dump_rx_header
);
EXPORT_SYMBOL
(
hostap_dump_tx_header
);
EXPORT_SYMBOL
(
hostap_dump_tx_header
);
EXPORT_SYMBOL
(
hostap_80211_header_parse
);
EXPORT_SYMBOL
(
hostap_80211_get_hdrlen
);
EXPORT_SYMBOL
(
hostap_80211_get_hdrlen
);
EXPORT_SYMBOL
(
hostap_get_stats
);
EXPORT_SYMBOL
(
hostap_get_stats
);
EXPORT_SYMBOL
(
hostap_setup_dev
);
EXPORT_SYMBOL
(
hostap_setup_dev
);
...
...
include/net/mac80211.h
View file @
2a64cc4b
...
@@ -595,6 +595,15 @@ enum ieee80211_key_alg {
...
@@ -595,6 +595,15 @@ enum ieee80211_key_alg {
ALG_CCMP
,
ALG_CCMP
,
};
};
/**
* enum ieee80211_key_len - key length
* @WEP40: WEP 5 byte long key
* @WEP104: WEP 13 byte long key
*/
enum
ieee80211_key_len
{
LEN_WEP40
=
5
,
LEN_WEP104
=
13
,
};
/**
/**
* enum ieee80211_key_flags - key flags
* enum ieee80211_key_flags - key flags
...
...
net/mac80211/wext.c
View file @
2a64cc4b
...
@@ -95,6 +95,13 @@ static int ieee80211_set_encryption(struct net_device *dev, u8 *sta_addr,
...
@@ -95,6 +95,13 @@ static int ieee80211_set_encryption(struct net_device *dev, u8 *sta_addr,
}
}
}
}
if
(
alg
==
ALG_WEP
&&
key_len
!=
LEN_WEP40
&&
key_len
!=
LEN_WEP104
)
{
ieee80211_key_free
(
key
);
err
=
-
EINVAL
;
goto
out_unlock
;
}
ieee80211_key_link
(
key
,
sdata
,
sta
);
ieee80211_key_link
(
key
,
sdata
,
sta
);
if
(
set_tx_key
||
(
!
sta
&&
!
sdata
->
default_key
&&
key
))
if
(
set_tx_key
||
(
!
sta
&&
!
sdata
->
default_key
&&
key
))
...
...
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