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
bcfe3c20
Commit
bcfe3c20
authored
Nov 02, 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
2e9526b3
c1f9a764
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
61 additions
and
25 deletions
+61
-25
drivers/net/wireless/ath/ath9k/rc.c
drivers/net/wireless/ath/ath9k/rc.c
+1
-1
drivers/net/wireless/b43/dma.c
drivers/net/wireless/b43/dma.c
+13
-2
drivers/net/wireless/ipw2x00/ipw2100.c
drivers/net/wireless/ipw2x00/ipw2100.c
+4
-1
drivers/net/wireless/ipw2x00/ipw2200.c
drivers/net/wireless/ipw2x00/ipw2200.c
+2
-0
drivers/net/wireless/ipw2x00/libipw.h
drivers/net/wireless/ipw2x00/libipw.h
+1
-0
drivers/net/wireless/ipw2x00/libipw_module.c
drivers/net/wireless/ipw2x00/libipw_module.c
+9
-5
drivers/net/wireless/libertas/if_usb.c
drivers/net/wireless/libertas/if_usb.c
+1
-1
drivers/net/wireless/rt2x00/rt73usb.c
drivers/net/wireless/rt2x00/rt73usb.c
+5
-0
net/mac80211/agg-tx.c
net/mac80211/agg-tx.c
+12
-7
net/mac80211/cfg.c
net/mac80211/cfg.c
+3
-3
net/mac80211/ht.c
net/mac80211/ht.c
+1
-1
net/mac80211/ibss.c
net/mac80211/ibss.c
+4
-2
net/wireless/sme.c
net/wireless/sme.c
+5
-2
No files found.
drivers/net/wireless/ath/ath9k/rc.c
View file @
bcfe3c20
...
@@ -679,7 +679,7 @@ static u8 ath_rc_get_highest_rix(struct ath_softc *sc,
...
@@ -679,7 +679,7 @@ static u8 ath_rc_get_highest_rix(struct ath_softc *sc,
return
rate
;
return
rate
;
if
(
rate_table
->
info
[
rate
].
valid_single_stream
&&
if
(
rate_table
->
info
[
rate
].
valid_single_stream
&&
!
(
ath_rc_priv
->
ht_cap
&
WLAN_RC_DS_FLAG
))
;
!
(
ath_rc_priv
->
ht_cap
&
WLAN_RC_DS_FLAG
))
return
rate
;
return
rate
;
/* This should not happen */
/* This should not happen */
...
...
drivers/net/wireless/b43/dma.c
View file @
bcfe3c20
...
@@ -1157,8 +1157,9 @@ struct b43_dmaring *parse_cookie(struct b43_wldev *dev, u16 cookie, int *slot)
...
@@ -1157,8 +1157,9 @@ struct b43_dmaring *parse_cookie(struct b43_wldev *dev, u16 cookie, int *slot)
}
}
static
int
dma_tx_fragment
(
struct
b43_dmaring
*
ring
,
static
int
dma_tx_fragment
(
struct
b43_dmaring
*
ring
,
struct
sk_buff
*
skb
)
struct
sk_buff
*
*
in_
skb
)
{
{
struct
sk_buff
*
skb
=
*
in_skb
;
const
struct
b43_dma_ops
*
ops
=
ring
->
ops
;
const
struct
b43_dma_ops
*
ops
=
ring
->
ops
;
struct
ieee80211_tx_info
*
info
=
IEEE80211_SKB_CB
(
skb
);
struct
ieee80211_tx_info
*
info
=
IEEE80211_SKB_CB
(
skb
);
u8
*
header
;
u8
*
header
;
...
@@ -1224,8 +1225,14 @@ static int dma_tx_fragment(struct b43_dmaring *ring,
...
@@ -1224,8 +1225,14 @@ static int dma_tx_fragment(struct b43_dmaring *ring,
}
}
memcpy
(
skb_put
(
bounce_skb
,
skb
->
len
),
skb
->
data
,
skb
->
len
);
memcpy
(
skb_put
(
bounce_skb
,
skb
->
len
),
skb
->
data
,
skb
->
len
);
memcpy
(
bounce_skb
->
cb
,
skb
->
cb
,
sizeof
(
skb
->
cb
));
bounce_skb
->
dev
=
skb
->
dev
;
skb_set_queue_mapping
(
bounce_skb
,
skb_get_queue_mapping
(
skb
));
info
=
IEEE80211_SKB_CB
(
bounce_skb
);
dev_kfree_skb_any
(
skb
);
dev_kfree_skb_any
(
skb
);
skb
=
bounce_skb
;
skb
=
bounce_skb
;
*
in_skb
=
bounce_skb
;
meta
->
skb
=
skb
;
meta
->
skb
=
skb
;
meta
->
dmaaddr
=
map_descbuffer
(
ring
,
skb
->
data
,
skb
->
len
,
1
);
meta
->
dmaaddr
=
map_descbuffer
(
ring
,
skb
->
data
,
skb
->
len
,
1
);
if
(
b43_dma_mapping_error
(
ring
,
meta
->
dmaaddr
,
skb
->
len
,
1
))
{
if
(
b43_dma_mapping_error
(
ring
,
meta
->
dmaaddr
,
skb
->
len
,
1
))
{
...
@@ -1355,7 +1362,11 @@ int b43_dma_tx(struct b43_wldev *dev, struct sk_buff *skb)
...
@@ -1355,7 +1362,11 @@ int b43_dma_tx(struct b43_wldev *dev, struct sk_buff *skb)
* static, so we don't need to store it per frame. */
* static, so we don't need to store it per frame. */
ring
->
queue_prio
=
skb_get_queue_mapping
(
skb
);
ring
->
queue_prio
=
skb_get_queue_mapping
(
skb
);
err
=
dma_tx_fragment
(
ring
,
skb
);
/* dma_tx_fragment might reallocate the skb, so invalidate pointers pointing
* into the skb data or cb now. */
hdr
=
NULL
;
info
=
NULL
;
err
=
dma_tx_fragment
(
ring
,
&
skb
);
if
(
unlikely
(
err
==
-
ENOKEY
))
{
if
(
unlikely
(
err
==
-
ENOKEY
))
{
/* Drop this packet, as we don't have the encryption key
/* Drop this packet, as we don't have the encryption key
* anymore and must not transmit it unencrypted. */
* anymore and must not transmit it unencrypted. */
...
...
drivers/net/wireless/ipw2x00/ipw2100.c
View file @
bcfe3c20
...
@@ -6325,8 +6325,10 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
...
@@ -6325,8 +6325,10 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
fail:
fail:
if
(
dev
)
{
if
(
dev
)
{
if
(
registered
)
if
(
registered
)
{
unregister_ieee80211
(
priv
->
ieee
);
unregister_netdev
(
dev
);
unregister_netdev
(
dev
);
}
ipw2100_hw_stop_adapter
(
priv
);
ipw2100_hw_stop_adapter
(
priv
);
...
@@ -6383,6 +6385,7 @@ static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev)
...
@@ -6383,6 +6385,7 @@ static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev)
/* Unregister the device first - this results in close()
/* Unregister the device first - this results in close()
* being called if the device is open. If we free storage
* being called if the device is open. If we free storage
* first, then close() will crash. */
* first, then close() will crash. */
unregister_ieee80211
(
priv
->
ieee
);
unregister_netdev
(
dev
);
unregister_netdev
(
dev
);
/* ipw2100_down will ensure that there is no more pending work
/* ipw2100_down will ensure that there is no more pending work
...
...
drivers/net/wireless/ipw2x00/ipw2200.c
View file @
bcfe3c20
...
@@ -11821,6 +11821,7 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
...
@@ -11821,6 +11821,7 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
if
(
err
)
{
if
(
err
)
{
IPW_ERROR
(
"Failed to register promiscuous network "
IPW_ERROR
(
"Failed to register promiscuous network "
"device (error %d).
\n
"
,
err
);
"device (error %d).
\n
"
,
err
);
unregister_ieee80211
(
priv
->
ieee
);
unregister_netdev
(
priv
->
net_dev
);
unregister_netdev
(
priv
->
net_dev
);
goto
out_remove_sysfs
;
goto
out_remove_sysfs
;
}
}
...
@@ -11871,6 +11872,7 @@ static void __devexit ipw_pci_remove(struct pci_dev *pdev)
...
@@ -11871,6 +11872,7 @@ static void __devexit ipw_pci_remove(struct pci_dev *pdev)
mutex_unlock
(
&
priv
->
mutex
);
mutex_unlock
(
&
priv
->
mutex
);
unregister_ieee80211
(
priv
->
ieee
);
unregister_netdev
(
priv
->
net_dev
);
unregister_netdev
(
priv
->
net_dev
);
if
(
priv
->
rxq
)
{
if
(
priv
->
rxq
)
{
...
...
drivers/net/wireless/ipw2x00/libipw.h
View file @
bcfe3c20
...
@@ -1020,6 +1020,7 @@ static inline int libipw_is_cck_rate(u8 rate)
...
@@ -1020,6 +1020,7 @@ static inline int libipw_is_cck_rate(u8 rate)
/* ieee80211.c */
/* ieee80211.c */
extern
void
free_ieee80211
(
struct
net_device
*
dev
,
int
monitor
);
extern
void
free_ieee80211
(
struct
net_device
*
dev
,
int
monitor
);
extern
struct
net_device
*
alloc_ieee80211
(
int
sizeof_priv
,
int
monitor
);
extern
struct
net_device
*
alloc_ieee80211
(
int
sizeof_priv
,
int
monitor
);
extern
void
unregister_ieee80211
(
struct
libipw_device
*
ieee
);
extern
int
libipw_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
);
extern
int
libipw_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
);
extern
void
libipw_networks_age
(
struct
libipw_device
*
ieee
,
extern
void
libipw_networks_age
(
struct
libipw_device
*
ieee
,
...
...
drivers/net/wireless/ipw2x00/libipw_module.c
View file @
bcfe3c20
...
@@ -235,16 +235,19 @@ void free_ieee80211(struct net_device *dev, int monitor)
...
@@ -235,16 +235,19 @@ void free_ieee80211(struct net_device *dev, int monitor)
libipw_networks_free
(
ieee
);
libipw_networks_free
(
ieee
);
/* free cfg80211 resources */
/* free cfg80211 resources */
if
(
!
monitor
)
{
if
(
!
monitor
)
wiphy_unregister
(
ieee
->
wdev
.
wiphy
);
kfree
(
ieee
->
a_band
.
channels
);
kfree
(
ieee
->
bg_band
.
channels
);
wiphy_free
(
ieee
->
wdev
.
wiphy
);
wiphy_free
(
ieee
->
wdev
.
wiphy
);
}
free_netdev
(
dev
);
free_netdev
(
dev
);
}
}
void
unregister_ieee80211
(
struct
libipw_device
*
ieee
)
{
wiphy_unregister
(
ieee
->
wdev
.
wiphy
);
kfree
(
ieee
->
a_band
.
channels
);
kfree
(
ieee
->
bg_band
.
channels
);
}
#ifdef CONFIG_LIBIPW_DEBUG
#ifdef CONFIG_LIBIPW_DEBUG
static
int
debug
=
0
;
static
int
debug
=
0
;
...
@@ -330,3 +333,4 @@ module_init(libipw_init);
...
@@ -330,3 +333,4 @@ module_init(libipw_init);
EXPORT_SYMBOL
(
alloc_ieee80211
);
EXPORT_SYMBOL
(
alloc_ieee80211
);
EXPORT_SYMBOL
(
free_ieee80211
);
EXPORT_SYMBOL
(
free_ieee80211
);
EXPORT_SYMBOL
(
unregister_ieee80211
);
drivers/net/wireless/libertas/if_usb.c
View file @
bcfe3c20
...
@@ -508,7 +508,7 @@ static int __if_usb_submit_rx_urb(struct if_usb_card *cardp,
...
@@ -508,7 +508,7 @@ static int __if_usb_submit_rx_urb(struct if_usb_card *cardp,
/* Fill the receive configuration URB and initialise the Rx call back */
/* Fill the receive configuration URB and initialise the Rx call back */
usb_fill_bulk_urb
(
cardp
->
rx_urb
,
cardp
->
udev
,
usb_fill_bulk_urb
(
cardp
->
rx_urb
,
cardp
->
udev
,
usb_rcvbulkpipe
(
cardp
->
udev
,
cardp
->
ep_in
),
usb_rcvbulkpipe
(
cardp
->
udev
,
cardp
->
ep_in
),
(
void
*
)
(
skb
->
tail
+
(
size_t
)
IPFIELD_ALIGN_OFFSET
)
,
skb
->
data
+
IPFIELD_ALIGN_OFFSET
,
MRVDRV_ETH_RX_PACKET_BUFFER_SIZE
,
callbackfn
,
MRVDRV_ETH_RX_PACKET_BUFFER_SIZE
,
callbackfn
,
cardp
);
cardp
);
...
...
drivers/net/wireless/rt2x00/rt73usb.c
View file @
bcfe3c20
...
@@ -2389,10 +2389,13 @@ static struct usb_device_id rt73usb_device_table[] = {
...
@@ -2389,10 +2389,13 @@ static struct usb_device_id rt73usb_device_table[] = {
{
USB_DEVICE
(
0x13b1
,
0x0023
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x13b1
,
0x0023
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x13b1
,
0x0028
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x13b1
,
0x0028
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
/* MSI */
/* MSI */
{
USB_DEVICE
(
0x0db0
,
0x4600
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0x6877
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0x6877
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0x6874
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0x6874
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0xa861
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0xa861
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0xa874
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0db0
,
0xa874
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
/* Ovislink */
{
USB_DEVICE
(
0x1b75
,
0x7318
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
/* Ralink */
/* Ralink */
{
USB_DEVICE
(
0x04bb
,
0x093d
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x04bb
,
0x093d
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x148f
,
0x2573
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x148f
,
0x2573
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
...
@@ -2420,6 +2423,8 @@ static struct usb_device_id rt73usb_device_table[] = {
...
@@ -2420,6 +2423,8 @@ static struct usb_device_id rt73usb_device_table[] = {
/* Planex */
/* Planex */
{
USB_DEVICE
(
0x2019
,
0xab01
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x2019
,
0xab01
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x2019
,
0xab50
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x2019
,
0xab50
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
/* WideTell */
{
USB_DEVICE
(
0x7167
,
0x3840
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
/* Zcom */
/* Zcom */
{
USB_DEVICE
(
0x0cde
,
0x001c
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
{
USB_DEVICE
(
0x0cde
,
0x001c
),
USB_DEVICE_DATA
(
&
rt73usb_ops
)
},
/* ZyXEL */
/* ZyXEL */
...
...
net/mac80211/agg-tx.c
View file @
bcfe3c20
...
@@ -666,26 +666,25 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
...
@@ -666,26 +666,25 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
state
=
&
sta
->
ampdu_mlme
.
tid_state_tx
[
tid
];
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
);
spin_lock_bh
(
&
sta
->
lock
);
if
(
!
(
*
state
&
HT_ADDBA_REQUESTED_MSK
))
{
if
(
!
(
*
state
&
HT_ADDBA_REQUESTED_MSK
))
spin_unlock_bh
(
&
sta
->
lock
);
goto
timer_still_needed
;
return
;
}
if
(
mgmt
->
u
.
action
.
u
.
addba_resp
.
dialog_token
!=
if
(
mgmt
->
u
.
action
.
u
.
addba_resp
.
dialog_token
!=
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
dialog_token
)
{
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
dialog_token
)
{
spin_unlock_bh
(
&
sta
->
lock
);
#ifdef CONFIG_MAC80211_HT_DEBUG
#ifdef CONFIG_MAC80211_HT_DEBUG
printk
(
KERN_DEBUG
"wrong addBA response token, tid %d
\n
"
,
tid
);
printk
(
KERN_DEBUG
"wrong addBA response token, tid %d
\n
"
,
tid
);
#endif
/* CONFIG_MAC80211_HT_DEBUG */
#endif
/* CONFIG_MAC80211_HT_DEBUG */
return
;
goto
timer_still_needed
;
}
}
del_timer_sync
(
&
sta
->
ampdu_mlme
.
tid_tx
[
tid
]
->
addba_resp_timer
);
#ifdef CONFIG_MAC80211_HT_DEBUG
#ifdef CONFIG_MAC80211_HT_DEBUG
printk
(
KERN_DEBUG
"switched off addBA timer for tid %d
\n
"
,
tid
);
printk
(
KERN_DEBUG
"switched off addBA timer for tid %d
\n
"
,
tid
);
#endif
/* CONFIG_MAC80211_HT_DEBUG */
#endif
/* CONFIG_MAC80211_HT_DEBUG */
if
(
le16_to_cpu
(
mgmt
->
u
.
action
.
u
.
addba_resp
.
status
)
if
(
le16_to_cpu
(
mgmt
->
u
.
action
.
u
.
addba_resp
.
status
)
==
WLAN_STATUS_SUCCESS
)
{
==
WLAN_STATUS_SUCCESS
)
{
u8
curstate
=
*
state
;
u8
curstate
=
*
state
;
...
@@ -699,5 +698,11 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
...
@@ -699,5 +698,11 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
}
else
{
}
else
{
___ieee80211_stop_tx_ba_session
(
sta
,
tid
,
WLAN_BACK_INITIATOR
);
___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
);
spin_unlock_bh
(
&
sta
->
lock
);
}
}
net/mac80211/cfg.c
View file @
bcfe3c20
...
@@ -72,6 +72,9 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
...
@@ -72,6 +72,9 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
struct
ieee80211_sub_if_data
*
sdata
;
struct
ieee80211_sub_if_data
*
sdata
;
int
ret
;
int
ret
;
if
(
netif_running
(
dev
))
return
-
EBUSY
;
if
(
!
nl80211_type_check
(
type
))
if
(
!
nl80211_type_check
(
type
))
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -81,9 +84,6 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
...
@@ -81,9 +84,6 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
if
(
ret
)
if
(
ret
)
return
ret
;
return
ret
;
if
(
netif_running
(
sdata
->
dev
))
return
-
EBUSY
;
if
(
ieee80211_vif_is_mesh
(
&
sdata
->
vif
)
&&
params
->
mesh_id_len
)
if
(
ieee80211_vif_is_mesh
(
&
sdata
->
vif
)
&&
params
->
mesh_id_len
)
ieee80211_sdata_set_mesh_id
(
sdata
,
ieee80211_sdata_set_mesh_id
(
sdata
,
params
->
mesh_id_len
,
params
->
mesh_id_len
,
...
...
net/mac80211/ht.c
View file @
bcfe3c20
...
@@ -153,7 +153,7 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
...
@@ -153,7 +153,7 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
if
(
net_ratelimit
())
if
(
net_ratelimit
())
printk
(
KERN_DEBUG
"delba from %pM (%s) tid %d reason code %d
\n
"
,
printk
(
KERN_DEBUG
"delba from %pM (%s) tid %d reason code %d
\n
"
,
mgmt
->
sa
,
initiator
?
"initiator"
:
"recipient"
,
tid
,
mgmt
->
sa
,
initiator
?
"initiator"
:
"recipient"
,
tid
,
mgmt
->
u
.
action
.
u
.
delba
.
reason_code
);
le16_to_cpu
(
mgmt
->
u
.
action
.
u
.
delba
.
reason_code
)
);
#endif
/* CONFIG_MAC80211_HT_DEBUG */
#endif
/* CONFIG_MAC80211_HT_DEBUG */
if
(
initiator
==
WLAN_BACK_INITIATOR
)
if
(
initiator
==
WLAN_BACK_INITIATOR
)
...
...
net/mac80211/ibss.c
View file @
bcfe3c20
...
@@ -73,6 +73,7 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
...
@@ -73,6 +73,7 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
struct
ieee80211_mgmt
*
mgmt
;
struct
ieee80211_mgmt
*
mgmt
;
u8
*
pos
;
u8
*
pos
;
struct
ieee80211_supported_band
*
sband
;
struct
ieee80211_supported_band
*
sband
;
struct
cfg80211_bss
*
bss
;
u32
bss_change
;
u32
bss_change
;
u8
supp_rates
[
IEEE80211_MAX_SUPP_RATES
];
u8
supp_rates
[
IEEE80211_MAX_SUPP_RATES
];
...
@@ -177,8 +178,9 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
...
@@ -177,8 +178,9 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
mod_timer
(
&
ifibss
->
timer
,
mod_timer
(
&
ifibss
->
timer
,
round_jiffies
(
jiffies
+
IEEE80211_IBSS_MERGE_INTERVAL
));
round_jiffies
(
jiffies
+
IEEE80211_IBSS_MERGE_INTERVAL
));
cfg80211_inform_bss_frame
(
local
->
hw
.
wiphy
,
local
->
hw
.
conf
.
channel
,
bss
=
cfg80211_inform_bss_frame
(
local
->
hw
.
wiphy
,
local
->
hw
.
conf
.
channel
,
mgmt
,
skb
->
len
,
0
,
GFP_KERNEL
);
mgmt
,
skb
->
len
,
0
,
GFP_KERNEL
);
cfg80211_put_bss
(
bss
);
cfg80211_ibss_joined
(
sdata
->
dev
,
ifibss
->
bssid
,
GFP_KERNEL
);
cfg80211_ibss_joined
(
sdata
->
dev
,
ifibss
->
bssid
,
GFP_KERNEL
);
}
}
...
...
net/wireless/sme.c
View file @
bcfe3c20
...
@@ -165,7 +165,7 @@ void cfg80211_conn_work(struct work_struct *work)
...
@@ -165,7 +165,7 @@ void cfg80211_conn_work(struct work_struct *work)
struct
cfg80211_registered_device
*
rdev
=
struct
cfg80211_registered_device
*
rdev
=
container_of
(
work
,
struct
cfg80211_registered_device
,
conn_work
);
container_of
(
work
,
struct
cfg80211_registered_device
,
conn_work
);
struct
wireless_dev
*
wdev
;
struct
wireless_dev
*
wdev
;
u8
bssid
[
ETH_ALEN
]
;
u8
bssid
_buf
[
ETH_ALEN
],
*
bssid
=
NULL
;
rtnl_lock
();
rtnl_lock
();
cfg80211_lock_rdev
(
rdev
);
cfg80211_lock_rdev
(
rdev
);
...
@@ -181,7 +181,10 @@ void cfg80211_conn_work(struct work_struct *work)
...
@@ -181,7 +181,10 @@ void cfg80211_conn_work(struct work_struct *work)
wdev_unlock
(
wdev
);
wdev_unlock
(
wdev
);
continue
;
continue
;
}
}
memcpy
(
bssid
,
wdev
->
conn
->
params
.
bssid
,
ETH_ALEN
);
if
(
wdev
->
conn
->
params
.
bssid
)
{
memcpy
(
bssid_buf
,
wdev
->
conn
->
params
.
bssid
,
ETH_ALEN
);
bssid
=
bssid_buf
;
}
if
(
cfg80211_conn_do_work
(
wdev
))
if
(
cfg80211_conn_do_work
(
wdev
))
__cfg80211_connect_result
(
__cfg80211_connect_result
(
wdev
->
netdev
,
bssid
,
wdev
->
netdev
,
bssid
,
...
...
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