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
f552ce5f
Commit
f552ce5f
authored
Oct 29, 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
d9d52832
83fc9c89
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
46 additions
and
22 deletions
+46
-22
MAINTAINERS
MAINTAINERS
+1
-1
drivers/net/wireless/airo.c
drivers/net/wireless/airo.c
+2
-3
drivers/net/wireless/b43/leds.h
drivers/net/wireless/b43/leds.h
+1
-0
drivers/net/wireless/b43/main.c
drivers/net/wireless/b43/main.c
+0
-1
drivers/net/wireless/b43/rfkill.c
drivers/net/wireless/b43/rfkill.c
+2
-1
drivers/net/wireless/libertas/if_spi.c
drivers/net/wireless/libertas/if_spi.c
+5
-5
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/rt2x00/rt2800usb.c
+1
-1
net/mac80211/ibss.c
net/mac80211/ibss.c
+2
-4
net/mac80211/mesh_hwmp.c
net/mac80211/mesh_hwmp.c
+1
-1
net/mac80211/mlme.c
net/mac80211/mlme.c
+1
-2
net/mac80211/tx.c
net/mac80211/tx.c
+1
-1
net/wireless/core.h
net/wireless/core.h
+1
-0
net/wireless/mlme.c
net/wireless/mlme.c
+9
-0
net/wireless/sme.c
net/wireless/sme.c
+19
-2
No files found.
MAINTAINERS
View file @
f552ce5f
...
...
@@ -4280,7 +4280,7 @@ F: drivers/video/aty/aty128fb.c
RALINK RT2X00 WIRELESS LAN DRIVER
P: rt2x00 project
L: linux-wireless@vger.kernel.org
L: users@rt2x00.serialmonkey.com
L: users@rt2x00.serialmonkey.com
(moderated for non-subscribers)
W: http://rt2x00.serialmonkey.com/
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git
...
...
drivers/net/wireless/airo.c
View file @
f552ce5f
...
...
@@ -4790,9 +4790,8 @@ static int proc_stats_rid_open( struct inode *inode,
static
int
get_dec_u16
(
char
*
buffer
,
int
*
start
,
int
limit
)
{
u16
value
;
int
valid
=
0
;
for
(
value
=
0
;
buffer
[
*
start
]
>=
'0'
&&
buffer
[
*
start
]
<=
'9'
&&
*
start
<
limit
;
(
*
start
)
++
)
{
for
(
value
=
0
;
*
start
<
limit
&&
buffer
[
*
start
]
>=
'0'
&&
buffer
[
*
start
]
<=
'9'
;
(
*
start
)
++
)
{
valid
=
1
;
value
*=
10
;
value
+=
buffer
[
*
start
]
-
'0'
;
...
...
drivers/net/wireless/b43/leds.h
View file @
f552ce5f
#ifndef B43_LEDS_H_
#define B43_LEDS_H_
struct
b43_wl
;
struct
b43_wldev
;
#ifdef CONFIG_B43_LEDS
...
...
drivers/net/wireless/b43/main.c
View file @
f552ce5f
...
...
@@ -4501,7 +4501,6 @@ static void b43_op_stop(struct ieee80211_hw *hw)
cancel_work_sync
(
&
(
wl
->
beacon_update_trigger
));
wiphy_rfkill_stop_polling
(
hw
->
wiphy
);
mutex_lock
(
&
wl
->
mutex
);
if
(
b43_status
(
dev
)
>=
B43_STAT_STARTED
)
{
dev
=
b43_wireless_core_stop
(
dev
);
...
...
drivers/net/wireless/b43/rfkill.c
View file @
f552ce5f
...
...
@@ -33,7 +33,8 @@ bool b43_is_hw_radio_enabled(struct b43_wldev *dev)
&
B43_MMIO_RADIO_HWENABLED_HI_MASK
))
return
1
;
}
else
{
if
(
b43_read16
(
dev
,
B43_MMIO_RADIO_HWENABLED_LO
)
if
(
b43_status
(
dev
)
>=
B43_STAT_STARTED
&&
b43_read16
(
dev
,
B43_MMIO_RADIO_HWENABLED_LO
)
&
B43_MMIO_RADIO_HWENABLED_LO_MASK
)
return
1
;
}
...
...
drivers/net/wireless/libertas/if_spi.c
View file @
f552ce5f
...
...
@@ -134,7 +134,7 @@ static void spu_transaction_finish(struct if_spi_card *card)
static
int
spu_write
(
struct
if_spi_card
*
card
,
u16
reg
,
const
u8
*
buf
,
int
len
)
{
int
err
=
0
;
u
16
reg_out
=
cpu_to_le16
(
reg
|
IF_SPI_WRITE_OPERATION_MASK
);
__le
16
reg_out
=
cpu_to_le16
(
reg
|
IF_SPI_WRITE_OPERATION_MASK
);
struct
spi_message
m
;
struct
spi_transfer
reg_trans
;
struct
spi_transfer
data_trans
;
...
...
@@ -166,7 +166,7 @@ static int spu_write(struct if_spi_card *card, u16 reg, const u8 *buf, int len)
static
inline
int
spu_write_u16
(
struct
if_spi_card
*
card
,
u16
reg
,
u16
val
)
{
u
16
buff
;
__le
16
buff
;
buff
=
cpu_to_le16
(
val
);
return
spu_write
(
card
,
reg
,
(
u8
*
)
&
buff
,
sizeof
(
u16
));
...
...
@@ -188,7 +188,7 @@ static int spu_read(struct if_spi_card *card, u16 reg, u8 *buf, int len)
{
unsigned
int
delay
;
int
err
=
0
;
u
16
reg_out
=
cpu_to_le16
(
reg
|
IF_SPI_READ_OPERATION_MASK
);
__le
16
reg_out
=
cpu_to_le16
(
reg
|
IF_SPI_READ_OPERATION_MASK
);
struct
spi_message
m
;
struct
spi_transfer
reg_trans
;
struct
spi_transfer
dummy_trans
;
...
...
@@ -235,7 +235,7 @@ static int spu_read(struct if_spi_card *card, u16 reg, u8 *buf, int len)
/* Read 16 bits from an SPI register */
static
inline
int
spu_read_u16
(
struct
if_spi_card
*
card
,
u16
reg
,
u16
*
val
)
{
u
16
buf
;
__le
16
buf
;
int
ret
;
ret
=
spu_read
(
card
,
reg
,
(
u8
*
)
&
buf
,
sizeof
(
buf
));
...
...
@@ -248,7 +248,7 @@ static inline int spu_read_u16(struct if_spi_card *card, u16 reg, u16 *val)
* The low 16 bits are read first. */
static
int
spu_read_u32
(
struct
if_spi_card
*
card
,
u16
reg
,
u32
*
val
)
{
u
32
buf
;
__le
32
buf
;
int
err
;
err
=
spu_read
(
card
,
reg
,
(
u8
*
)
&
buf
,
sizeof
(
buf
));
...
...
drivers/net/wireless/rt2x00/rt2800usb.c
View file @
f552ce5f
...
...
@@ -1994,7 +1994,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev,
rt2x00_set_field32
(
&
word
,
TXWI_W1_BW_WIN_SIZE
,
txdesc
->
ba_size
);
rt2x00_set_field32
(
&
word
,
TXWI_W1_WIRELESS_CLI_ID
,
test_bit
(
ENTRY_TXD_ENCRYPT
,
&
txdesc
->
flags
)
?
(
skbdesc
->
entry
->
entry_idx
+
1
)
:
0xff
);
txdesc
->
key_idx
:
0xff
);
rt2x00_set_field32
(
&
word
,
TXWI_W1_MPDU_TOTAL_BYTE_COUNT
,
skb
->
len
-
txdesc
->
l2pad
);
rt2x00_set_field32
(
&
word
,
TXWI_W1_PACKETID
,
...
...
net/mac80211/ibss.c
View file @
f552ce5f
...
...
@@ -538,13 +538,12 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata)
WLAN_CAPABILITY_PRIVACY
,
capability
);
if
(
bss
)
{
#ifdef CONFIG_MAC80211_IBSS_DEBUG
if
(
bss
)
printk
(
KERN_DEBUG
" sta_find_ibss: selected %pM current "
"%pM
\n
"
,
bss
->
cbss
.
bssid
,
ifibss
->
bssid
);
#endif
/* CONFIG_MAC80211_IBSS_DEBUG */
if
(
bss
&&
!
memcmp
(
ifibss
->
bssid
,
bss
->
cbss
.
bssid
,
ETH_ALEN
))
{
printk
(
KERN_DEBUG
"%s: Selected IBSS BSSID %pM"
" based on configured SSID
\n
"
,
sdata
->
dev
->
name
,
bss
->
cbss
.
bssid
);
...
...
@@ -552,8 +551,7 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata)
ieee80211_sta_join_ibss
(
sdata
,
bss
);
ieee80211_rx_bss_put
(
local
,
bss
);
return
;
}
else
if
(
bss
)
ieee80211_rx_bss_put
(
local
,
bss
);
}
#ifdef CONFIG_MAC80211_IBSS_DEBUG
printk
(
KERN_DEBUG
" did not try to join ibss
\n
"
);
...
...
net/mac80211/mesh_hwmp.c
View file @
f552ce5f
...
...
@@ -259,7 +259,7 @@ static u32 airtime_link_metric_get(struct ieee80211_local *local,
* @hwmp_ie: hwmp information element (PREP or PREQ)
*
* This function updates the path routing information to the originator and the
* transmitter of a HWMP PREQ or PREP fram.
* transmitter of a HWMP PREQ or PREP fram
e
.
*
* Returns: metric to frame originator or 0 if the frame should not be further
* processed
...
...
net/mac80211/mlme.c
View file @
f552ce5f
...
...
@@ -1457,8 +1457,7 @@ ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
if
(
status_code
!=
WLAN_STATUS_SUCCESS
)
{
printk
(
KERN_DEBUG
"%s: AP denied association (code=%d)
\n
"
,
sdata
->
dev
->
name
,
status_code
);
list_del
(
&
wk
->
list
);
kfree
(
wk
);
wk
->
state
=
IEEE80211_MGD_STATE_IDLE
;
return
RX_MGMT_CFG80211_ASSOC
;
}
...
...
net/mac80211/tx.c
View file @
f552ce5f
...
...
@@ -1445,7 +1445,7 @@ static void ieee80211_xmit(struct ieee80211_sub_if_data *sdata,
if
(
tmp_sdata
->
vif
.
type
!=
NL80211_IFTYPE_AP
)
continue
;
if
(
compare_ether_addr
(
tmp_sdata
->
dev
->
dev_addr
,
hdr
->
addr2
))
{
hdr
->
addr2
)
==
0
)
{
dev_hold
(
tmp_sdata
->
dev
);
dev_put
(
sdata
->
dev
);
sdata
=
tmp_sdata
;
...
...
net/wireless/core.h
View file @
f552ce5f
...
...
@@ -358,6 +358,7 @@ int cfg80211_mgd_wext_connect(struct cfg80211_registered_device *rdev,
struct
wireless_dev
*
wdev
);
void
cfg80211_conn_work
(
struct
work_struct
*
work
);
void
cfg80211_sme_failed_assoc
(
struct
wireless_dev
*
wdev
);
bool
cfg80211_sme_failed_reassoc
(
struct
wireless_dev
*
wdev
);
/* internal helpers */
...
...
net/wireless/mlme.c
View file @
f552ce5f
...
...
@@ -62,6 +62,7 @@ void cfg80211_send_rx_assoc(struct net_device *dev, const u8 *buf, size_t len)
u8
*
ie
=
mgmt
->
u
.
assoc_resp
.
variable
;
int
i
,
ieoffs
=
offsetof
(
struct
ieee80211_mgmt
,
u
.
assoc_resp
.
variable
);
struct
cfg80211_internal_bss
*
bss
=
NULL
;
bool
need_connect_result
=
true
;
wdev_lock
(
wdev
);
...
...
@@ -94,6 +95,14 @@ void cfg80211_send_rx_assoc(struct net_device *dev, const u8 *buf, size_t len)
}
WARN_ON
(
!
bss
);
}
else
if
(
wdev
->
conn
)
{
cfg80211_sme_failed_assoc
(
wdev
);
need_connect_result
=
false
;
/*
* do not call connect_result() now because the
* sme will schedule work that does it later.
*/
goto
out
;
}
if
(
!
wdev
->
conn
&&
wdev
->
sme_state
==
CFG80211_SME_IDLE
)
{
...
...
net/wireless/sme.c
View file @
f552ce5f
...
...
@@ -26,6 +26,7 @@ struct cfg80211_conn {
CFG80211_CONN_AUTHENTICATING
,
CFG80211_CONN_ASSOCIATE_NEXT
,
CFG80211_CONN_ASSOCIATING
,
CFG80211_CONN_DEAUTH_ASSOC_FAIL
,
}
state
;
u8
bssid
[
ETH_ALEN
],
prev_bssid
[
ETH_ALEN
];
u8
*
ie
;
...
...
@@ -148,6 +149,12 @@ static int cfg80211_conn_do_work(struct wireless_dev *wdev)
NULL
,
0
,
WLAN_REASON_DEAUTH_LEAVING
);
return
err
;
case
CFG80211_CONN_DEAUTH_ASSOC_FAIL
:
__cfg80211_mlme_deauth
(
rdev
,
wdev
->
netdev
,
params
->
bssid
,
NULL
,
0
,
WLAN_REASON_DEAUTH_LEAVING
);
/* return an error so that we call __cfg80211_connect_result() */
return
-
EINVAL
;
default:
return
0
;
}
...
...
@@ -158,6 +165,7 @@ void cfg80211_conn_work(struct work_struct *work)
struct
cfg80211_registered_device
*
rdev
=
container_of
(
work
,
struct
cfg80211_registered_device
,
conn_work
);
struct
wireless_dev
*
wdev
;
u8
bssid
[
ETH_ALEN
];
rtnl_lock
();
cfg80211_lock_rdev
(
rdev
);
...
...
@@ -173,10 +181,10 @@ void cfg80211_conn_work(struct work_struct *work)
wdev_unlock
(
wdev
);
continue
;
}
memcpy
(
bssid
,
wdev
->
conn
->
params
.
bssid
,
ETH_ALEN
);
if
(
cfg80211_conn_do_work
(
wdev
))
__cfg80211_connect_result
(
wdev
->
netdev
,
wdev
->
conn
->
params
.
bssid
,
wdev
->
netdev
,
bssid
,
NULL
,
0
,
NULL
,
0
,
WLAN_STATUS_UNSPECIFIED_FAILURE
,
false
,
NULL
);
...
...
@@ -337,6 +345,15 @@ bool cfg80211_sme_failed_reassoc(struct wireless_dev *wdev)
return
true
;
}
void
cfg80211_sme_failed_assoc
(
struct
wireless_dev
*
wdev
)
{
struct
wiphy
*
wiphy
=
wdev
->
wiphy
;
struct
cfg80211_registered_device
*
rdev
=
wiphy_to_dev
(
wiphy
);
wdev
->
conn
->
state
=
CFG80211_CONN_DEAUTH_ASSOC_FAIL
;
schedule_work
(
&
rdev
->
conn_work
);
}
void
__cfg80211_connect_result
(
struct
net_device
*
dev
,
const
u8
*
bssid
,
const
u8
*
req_ie
,
size_t
req_ie_len
,
const
u8
*
resp_ie
,
size_t
resp_ie_len
,
...
...
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