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
ab55570d
Commit
ab55570d
authored
Oct 14, 2008
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
eef9d90d
8713a7cc
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
67 additions
and
32 deletions
+67
-32
drivers/net/wireless/ath9k/main.c
drivers/net/wireless/ath9k/main.c
+7
-1
drivers/net/wireless/iwlwifi/iwl-5000.c
drivers/net/wireless/iwlwifi/iwl-5000.c
+3
-3
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+1
-1
drivers/net/wireless/libertas/cmd.c
drivers/net/wireless/libertas/cmd.c
+2
-0
drivers/net/wireless/orinoco_cs.c
drivers/net/wireless/orinoco_cs.c
+3
-2
drivers/net/wireless/p54/p54common.c
drivers/net/wireless/p54/p54common.c
+0
-1
drivers/net/wireless/p54/p54usb.c
drivers/net/wireless/p54/p54usb.c
+2
-1
drivers/net/wireless/rt2x00/rt2x00queue.c
drivers/net/wireless/rt2x00/rt2x00queue.c
+5
-4
drivers/net/wireless/rtl8187_dev.c
drivers/net/wireless/rtl8187_dev.c
+3
-0
drivers/net/wireless/spectrum_cs.c
drivers/net/wireless/spectrum_cs.c
+3
-2
include/net/mac80211.h
include/net/mac80211.h
+2
-1
net/mac80211/debugfs_netdev.c
net/mac80211/debugfs_netdev.c
+5
-1
net/mac80211/debugfs_sta.c
net/mac80211/debugfs_sta.c
+11
-0
net/mac80211/ieee80211_i.h
net/mac80211/ieee80211_i.h
+2
-4
net/mac80211/mlme.c
net/mac80211/mlme.c
+0
-3
net/mac80211/scan.c
net/mac80211/scan.c
+2
-1
net/mac80211/sta_info.c
net/mac80211/sta_info.c
+6
-1
net/mac80211/sta_info.h
net/mac80211/sta_info.h
+1
-0
net/mac80211/util.c
net/mac80211/util.c
+4
-4
net/mac80211/wext.c
net/mac80211/wext.c
+1
-1
net/wireless/core.c
net/wireless/core.c
+4
-1
No files found.
drivers/net/wireless/ath9k/main.c
View file @
ab55570d
...
@@ -1640,6 +1640,11 @@ static int ath9k_ampdu_action(struct ieee80211_hw *hw,
...
@@ -1640,6 +1640,11 @@ static int ath9k_ampdu_action(struct ieee80211_hw *hw,
return
ret
;
return
ret
;
}
}
static
int
ath9k_no_fragmentation
(
struct
ieee80211_hw
*
hw
,
u32
value
)
{
return
-
EOPNOTSUPP
;
}
static
struct
ieee80211_ops
ath9k_ops
=
{
static
struct
ieee80211_ops
ath9k_ops
=
{
.
tx
=
ath9k_tx
,
.
tx
=
ath9k_tx
,
.
start
=
ath9k_start
,
.
start
=
ath9k_start
,
...
@@ -1664,7 +1669,8 @@ static struct ieee80211_ops ath9k_ops = {
...
@@ -1664,7 +1669,8 @@ static struct ieee80211_ops ath9k_ops = {
.
get_tsf
=
ath9k_get_tsf
,
.
get_tsf
=
ath9k_get_tsf
,
.
reset_tsf
=
ath9k_reset_tsf
,
.
reset_tsf
=
ath9k_reset_tsf
,
.
tx_last_beacon
=
NULL
,
.
tx_last_beacon
=
NULL
,
.
ampdu_action
=
ath9k_ampdu_action
.
ampdu_action
=
ath9k_ampdu_action
,
.
set_frag_threshold
=
ath9k_no_fragmentation
,
};
};
static
int
ath_pci_probe
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
id
)
static
int
ath_pci_probe
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
id
)
...
...
drivers/net/wireless/iwlwifi/iwl-5000.c
View file @
ab55570d
...
@@ -833,12 +833,12 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
...
@@ -833,12 +833,12 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
switch
(
priv
->
hw_rev
&
CSR_HW_REV_TYPE_MSK
)
{
switch
(
priv
->
hw_rev
&
CSR_HW_REV_TYPE_MSK
)
{
case
CSR_HW_REV_TYPE_5100
:
case
CSR_HW_REV_TYPE_5100
:
case
CSR_HW_REV_TYPE_5300
:
case
CSR_HW_REV_TYPE_5300
:
/* 5X00 wants in Celsius */
case
CSR_HW_REV_TYPE_5350
:
/* 5X00 and 5350 wants in Celsius */
priv
->
hw_params
.
ct_kill_threshold
=
CT_KILL_THRESHOLD
;
priv
->
hw_params
.
ct_kill_threshold
=
CT_KILL_THRESHOLD
;
break
;
break
;
case
CSR_HW_REV_TYPE_5150
:
case
CSR_HW_REV_TYPE_5150
:
case
CSR_HW_REV_TYPE_5350
:
/* 5150 wants in Kelvin */
/* 5X50 wants in Kelvin */
priv
->
hw_params
.
ct_kill_threshold
=
priv
->
hw_params
.
ct_kill_threshold
=
CELSIUS_TO_KELVIN
(
CT_KILL_THRESHOLD
);
CELSIUS_TO_KELVIN
(
CT_KILL_THRESHOLD
);
break
;
break
;
...
...
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
View file @
ab55570d
...
@@ -2422,7 +2422,7 @@ static void rs_free_sta(void *priv_r, struct ieee80211_sta *sta,
...
@@ -2422,7 +2422,7 @@ static void rs_free_sta(void *priv_r, struct ieee80211_sta *sta,
void
*
priv_sta
)
void
*
priv_sta
)
{
{
struct
iwl_lq_sta
*
lq_sta
=
priv_sta
;
struct
iwl_lq_sta
*
lq_sta
=
priv_sta
;
struct
iwl_priv
*
priv
=
priv_r
;
struct
iwl_priv
*
priv
__maybe_unused
=
priv_r
;
IWL_DEBUG_RATE
(
"enter
\n
"
);
IWL_DEBUG_RATE
(
"enter
\n
"
);
kfree
(
lq_sta
);
kfree
(
lq_sta
);
...
...
drivers/net/wireless/libertas/cmd.c
View file @
ab55570d
...
@@ -823,7 +823,9 @@ int lbs_update_channel(struct lbs_private *priv)
...
@@ -823,7 +823,9 @@ int lbs_update_channel(struct lbs_private *priv)
int
lbs_set_channel
(
struct
lbs_private
*
priv
,
u8
channel
)
int
lbs_set_channel
(
struct
lbs_private
*
priv
,
u8
channel
)
{
{
struct
cmd_ds_802_11_rf_channel
cmd
;
struct
cmd_ds_802_11_rf_channel
cmd
;
#ifdef DEBUG
u8
old_channel
=
priv
->
curbssparams
.
channel
;
u8
old_channel
=
priv
->
curbssparams
.
channel
;
#endif
int
ret
=
0
;
int
ret
=
0
;
lbs_deb_enter
(
LBS_DEB_CMD
);
lbs_deb_enter
(
LBS_DEB_CMD
);
...
...
drivers/net/wireless/orinoco_cs.c
View file @
ab55570d
...
@@ -403,6 +403,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
...
@@ -403,6 +403,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
struct
orinoco_private
*
priv
=
netdev_priv
(
dev
);
struct
orinoco_private
*
priv
=
netdev_priv
(
dev
);
struct
orinoco_pccard
*
card
=
priv
->
card
;
struct
orinoco_pccard
*
card
=
priv
->
card
;
int
err
=
0
;
int
err
=
0
;
unsigned
long
flags
;
if
(
!
test_bit
(
0
,
&
card
->
hard_reset_in_progress
))
{
if
(
!
test_bit
(
0
,
&
card
->
hard_reset_in_progress
))
{
err
=
orinoco_reinit_firmware
(
dev
);
err
=
orinoco_reinit_firmware
(
dev
);
...
@@ -412,7 +413,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
...
@@ -412,7 +413,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
return
-
EIO
;
return
-
EIO
;
}
}
spin_lock
(
&
priv
->
lock
);
spin_lock
_irqsave
(
&
priv
->
lock
,
flags
);
netif_device_attach
(
dev
);
netif_device_attach
(
dev
);
priv
->
hw_unavailable
--
;
priv
->
hw_unavailable
--
;
...
@@ -424,7 +425,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
...
@@ -424,7 +425,7 @@ static int orinoco_cs_resume(struct pcmcia_device *link)
dev
->
name
,
err
);
dev
->
name
,
err
);
}
}
spin_unlock
(
&
priv
->
lock
);
spin_unlock
_irqrestore
(
&
priv
->
lock
,
flags
);
}
}
return
err
;
return
err
;
...
...
drivers/net/wireless/p54/p54common.c
View file @
ab55570d
...
@@ -479,7 +479,6 @@ static int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
...
@@ -479,7 +479,6 @@ static int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
printk
(
KERN_ERR
"p54: eeprom parse failed!
\n
"
);
printk
(
KERN_ERR
"p54: eeprom parse failed!
\n
"
);
return
err
;
return
err
;
}
}
EXPORT_SYMBOL_GPL
(
p54_parse_eeprom
);
static
int
p54_rssi_to_dbm
(
struct
ieee80211_hw
*
dev
,
int
rssi
)
static
int
p54_rssi_to_dbm
(
struct
ieee80211_hw
*
dev
,
int
rssi
)
{
{
...
...
drivers/net/wireless/p54/p54usb.c
View file @
ab55570d
...
@@ -39,6 +39,7 @@ static struct usb_device_id p54u_table[] __devinitdata = {
...
@@ -39,6 +39,7 @@ static struct usb_device_id p54u_table[] __devinitdata = {
{
USB_DEVICE
(
0x0846
,
0x4200
)},
/* Netgear WG121 */
{
USB_DEVICE
(
0x0846
,
0x4200
)},
/* Netgear WG121 */
{
USB_DEVICE
(
0x0846
,
0x4210
)},
/* Netgear WG121 the second ? */
{
USB_DEVICE
(
0x0846
,
0x4210
)},
/* Netgear WG121 the second ? */
{
USB_DEVICE
(
0x0846
,
0x4220
)},
/* Netgear WG111 */
{
USB_DEVICE
(
0x0846
,
0x4220
)},
/* Netgear WG111 */
{
USB_DEVICE
(
0x09aa
,
0x1000
)},
/* Spinnaker Proto board */
{
USB_DEVICE
(
0x0cde
,
0x0006
)},
/* Medion 40900, Roper Europe */
{
USB_DEVICE
(
0x0cde
,
0x0006
)},
/* Medion 40900, Roper Europe */
{
USB_DEVICE
(
0x124a
,
0x4023
)},
/* Shuttle PN15, Airvast WM168g, IOGear GWU513 */
{
USB_DEVICE
(
0x124a
,
0x4023
)},
/* Shuttle PN15, Airvast WM168g, IOGear GWU513 */
{
USB_DEVICE
(
0x1915
,
0x2234
)},
/* Linksys WUSB54G OEM */
{
USB_DEVICE
(
0x1915
,
0x2234
)},
/* Linksys WUSB54G OEM */
...
@@ -63,8 +64,8 @@ static struct usb_device_id p54u_table[] __devinitdata = {
...
@@ -63,8 +64,8 @@ static struct usb_device_id p54u_table[] __devinitdata = {
{
USB_DEVICE
(
0x0cde
,
0x0006
)},
/* Medion MD40900 */
{
USB_DEVICE
(
0x0cde
,
0x0006
)},
/* Medion MD40900 */
{
USB_DEVICE
(
0x0cde
,
0x0008
)},
/* Sagem XG703A */
{
USB_DEVICE
(
0x0cde
,
0x0008
)},
/* Sagem XG703A */
{
USB_DEVICE
(
0x0d8e
,
0x3762
)},
/* DLink DWL-G120 Cohiba */
{
USB_DEVICE
(
0x0d8e
,
0x3762
)},
/* DLink DWL-G120 Cohiba */
{
USB_DEVICE
(
0x09aa
,
0x1000
)},
/* Spinnaker Proto board */
{
USB_DEVICE
(
0x124a
,
0x4025
)},
/* IOGear GWU513 (GW3887IK chip) */
{
USB_DEVICE
(
0x124a
,
0x4025
)},
/* IOGear GWU513 (GW3887IK chip) */
{
USB_DEVICE
(
0x1260
,
0xee22
)},
/* SMC 2862W-G version 2 */
{
USB_DEVICE
(
0x13b1
,
0x000a
)},
/* Linksys WUSB54G ver 2 */
{
USB_DEVICE
(
0x13b1
,
0x000a
)},
/* Linksys WUSB54G ver 2 */
{
USB_DEVICE
(
0x13B1
,
0x000C
)},
/* Linksys WUSB54AG */
{
USB_DEVICE
(
0x13B1
,
0x000C
)},
/* Linksys WUSB54AG */
{
USB_DEVICE
(
0x1435
,
0x0427
)},
/* Inventel UR054G */
{
USB_DEVICE
(
0x1435
,
0x0427
)},
/* Inventel UR054G */
...
...
drivers/net/wireless/rt2x00/rt2x00queue.c
View file @
ab55570d
...
@@ -374,7 +374,7 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb)
...
@@ -374,7 +374,7 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb)
struct
queue_entry
*
entry
=
rt2x00queue_get_entry
(
queue
,
Q_INDEX
);
struct
queue_entry
*
entry
=
rt2x00queue_get_entry
(
queue
,
Q_INDEX
);
struct
txentry_desc
txdesc
;
struct
txentry_desc
txdesc
;
struct
skb_frame_desc
*
skbdesc
;
struct
skb_frame_desc
*
skbdesc
;
unsigned
int
iv_len
;
unsigned
int
iv_len
=
0
;
if
(
unlikely
(
rt2x00queue_full
(
queue
)))
if
(
unlikely
(
rt2x00queue_full
(
queue
)))
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -395,6 +395,9 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb)
...
@@ -395,6 +395,9 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb)
entry
->
skb
=
skb
;
entry
->
skb
=
skb
;
rt2x00queue_create_tx_descriptor
(
entry
,
&
txdesc
);
rt2x00queue_create_tx_descriptor
(
entry
,
&
txdesc
);
if
(
IEEE80211_SKB_CB
(
skb
)
->
control
.
hw_key
!=
NULL
)
iv_len
=
IEEE80211_SKB_CB
(
skb
)
->
control
.
hw_key
->
iv_len
;
/*
/*
* All information is retreived from the skb->cb array,
* All information is retreived from the skb->cb array,
* now we should claim ownership of the driver part of that
* now we should claim ownership of the driver part of that
...
@@ -410,9 +413,7 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb)
...
@@ -410,9 +413,7 @@ int rt2x00queue_write_tx_frame(struct data_queue *queue, struct sk_buff *skb)
* the frame so we can provide it to the driver seperately.
* the frame so we can provide it to the driver seperately.
*/
*/
if
(
test_bit
(
ENTRY_TXD_ENCRYPT
,
&
txdesc
.
flags
)
&&
if
(
test_bit
(
ENTRY_TXD_ENCRYPT
,
&
txdesc
.
flags
)
&&
!
test_bit
(
ENTRY_TXD_ENCRYPT_IV
,
&
txdesc
.
flags
)
&&
!
test_bit
(
ENTRY_TXD_ENCRYPT_IV
,
&
txdesc
.
flags
))
{
(
IEEE80211_SKB_CB
(
skb
)
->
control
.
hw_key
!=
NULL
))
{
iv_len
=
IEEE80211_SKB_CB
(
skb
)
->
control
.
hw_key
->
iv_len
;
rt2x00crypto_tx_remove_iv
(
skb
,
iv_len
);
rt2x00crypto_tx_remove_iv
(
skb
,
iv_len
);
}
}
...
...
drivers/net/wireless/rtl8187_dev.c
View file @
ab55570d
...
@@ -33,10 +33,13 @@ MODULE_LICENSE("GPL");
...
@@ -33,10 +33,13 @@ MODULE_LICENSE("GPL");
static
struct
usb_device_id
rtl8187_table
[]
__devinitdata
=
{
static
struct
usb_device_id
rtl8187_table
[]
__devinitdata
=
{
/* Asus */
/* Asus */
{
USB_DEVICE
(
0x0b05
,
0x171d
),
.
driver_info
=
DEVICE_RTL8187
},
{
USB_DEVICE
(
0x0b05
,
0x171d
),
.
driver_info
=
DEVICE_RTL8187
},
/* Belkin */
{
USB_DEVICE
(
0x050d
,
0x705e
),
.
driver_info
=
DEVICE_RTL8187B
},
/* Realtek */
/* Realtek */
{
USB_DEVICE
(
0x0bda
,
0x8187
),
.
driver_info
=
DEVICE_RTL8187
},
{
USB_DEVICE
(
0x0bda
,
0x8187
),
.
driver_info
=
DEVICE_RTL8187
},
{
USB_DEVICE
(
0x0bda
,
0x8189
),
.
driver_info
=
DEVICE_RTL8187B
},
{
USB_DEVICE
(
0x0bda
,
0x8189
),
.
driver_info
=
DEVICE_RTL8187B
},
{
USB_DEVICE
(
0x0bda
,
0x8197
),
.
driver_info
=
DEVICE_RTL8187B
},
{
USB_DEVICE
(
0x0bda
,
0x8197
),
.
driver_info
=
DEVICE_RTL8187B
},
{
USB_DEVICE
(
0x0bda
,
0x8198
),
.
driver_info
=
DEVICE_RTL8187B
},
/* Netgear */
/* Netgear */
{
USB_DEVICE
(
0x0846
,
0x6100
),
.
driver_info
=
DEVICE_RTL8187
},
{
USB_DEVICE
(
0x0846
,
0x6100
),
.
driver_info
=
DEVICE_RTL8187
},
{
USB_DEVICE
(
0x0846
,
0x6a00
),
.
driver_info
=
DEVICE_RTL8187
},
{
USB_DEVICE
(
0x0846
,
0x6a00
),
.
driver_info
=
DEVICE_RTL8187
},
...
...
drivers/net/wireless/spectrum_cs.c
View file @
ab55570d
...
@@ -450,10 +450,11 @@ spectrum_cs_suspend(struct pcmcia_device *link)
...
@@ -450,10 +450,11 @@ spectrum_cs_suspend(struct pcmcia_device *link)
{
{
struct
net_device
*
dev
=
link
->
priv
;
struct
net_device
*
dev
=
link
->
priv
;
struct
orinoco_private
*
priv
=
netdev_priv
(
dev
);
struct
orinoco_private
*
priv
=
netdev_priv
(
dev
);
unsigned
long
flags
;
int
err
=
0
;
int
err
=
0
;
/* Mark the device as stopped, to block IO until later */
/* Mark the device as stopped, to block IO until later */
spin_lock
(
&
priv
->
lock
);
spin_lock
_irqsave
(
&
priv
->
lock
,
flags
);
err
=
__orinoco_down
(
dev
);
err
=
__orinoco_down
(
dev
);
if
(
err
)
if
(
err
)
...
@@ -463,7 +464,7 @@ spectrum_cs_suspend(struct pcmcia_device *link)
...
@@ -463,7 +464,7 @@ spectrum_cs_suspend(struct pcmcia_device *link)
netif_device_detach
(
dev
);
netif_device_detach
(
dev
);
priv
->
hw_unavailable
++
;
priv
->
hw_unavailable
++
;
spin_unlock
(
&
priv
->
lock
);
spin_unlock
_irqrestore
(
&
priv
->
lock
,
flags
);
return
err
;
return
err
;
}
}
...
...
include/net/mac80211.h
View file @
ab55570d
...
@@ -645,7 +645,8 @@ enum ieee80211_key_flags {
...
@@ -645,7 +645,8 @@ enum ieee80211_key_flags {
* - Temporal Encryption Key (128 bits)
* - Temporal Encryption Key (128 bits)
* - Temporal Authenticator Tx MIC Key (64 bits)
* - Temporal Authenticator Tx MIC Key (64 bits)
* - Temporal Authenticator Rx MIC Key (64 bits)
* - Temporal Authenticator Rx MIC Key (64 bits)
*
* @icv_len: FIXME
* @iv_len: FIXME
*/
*/
struct
ieee80211_key_conf
{
struct
ieee80211_key_conf
{
enum
ieee80211_key_alg
alg
;
enum
ieee80211_key_alg
alg
;
...
...
net/mac80211/debugfs_netdev.c
View file @
ab55570d
...
@@ -545,8 +545,12 @@ static int netdev_notify(struct notifier_block *nb,
...
@@ -545,8 +545,12 @@ static int netdev_notify(struct notifier_block *nb,
sdata
=
IEEE80211_DEV_TO_SUB_IF
(
dev
);
sdata
=
IEEE80211_DEV_TO_SUB_IF
(
dev
);
sprintf
(
buf
,
"netdev:%s"
,
dev
->
name
);
dir
=
sdata
->
debugfsdir
;
dir
=
sdata
->
debugfsdir
;
if
(
!
dir
)
return
0
;
sprintf
(
buf
,
"netdev:%s"
,
dev
->
name
);
if
(
!
debugfs_rename
(
dir
->
d_parent
,
dir
,
dir
->
d_parent
,
buf
))
if
(
!
debugfs_rename
(
dir
->
d_parent
,
dir
,
dir
->
d_parent
,
buf
))
printk
(
KERN_ERR
"mac80211: debugfs: failed to rename debugfs "
printk
(
KERN_ERR
"mac80211: debugfs: failed to rename debugfs "
"dir to %s
\n
"
,
buf
);
"dir to %s
\n
"
,
buf
);
...
...
net/mac80211/debugfs_sta.c
View file @
ab55570d
...
@@ -249,11 +249,22 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)
...
@@ -249,11 +249,22 @@ void ieee80211_sta_debugfs_add(struct sta_info *sta)
DECLARE_MAC_BUF
(
mbuf
);
DECLARE_MAC_BUF
(
mbuf
);
u8
*
mac
;
u8
*
mac
;
sta
->
debugfs
.
add_has_run
=
true
;
if
(
!
stations_dir
)
if
(
!
stations_dir
)
return
;
return
;
mac
=
print_mac
(
mbuf
,
sta
->
sta
.
addr
);
mac
=
print_mac
(
mbuf
,
sta
->
sta
.
addr
);
/*
* This might fail due to a race condition:
* When mac80211 unlinks a station, the debugfs entries
* remain, but it is already possible to link a new
* station with the same address which triggers adding
* it to debugfs; therefore, if the old station isn't
* destroyed quickly enough the old station's debugfs
* dir might still be around.
*/
sta
->
debugfs
.
dir
=
debugfs_create_dir
(
mac
,
stations_dir
);
sta
->
debugfs
.
dir
=
debugfs_create_dir
(
mac
,
stations_dir
);
if
(
!
sta
->
debugfs
.
dir
)
if
(
!
sta
->
debugfs
.
dir
)
return
;
return
;
...
...
net/mac80211/ieee80211_i.h
View file @
ab55570d
...
@@ -816,8 +816,8 @@ struct ieee802_11_elems {
...
@@ -816,8 +816,8 @@ struct ieee802_11_elems {
u8
*
ext_supp_rates
;
u8
*
ext_supp_rates
;
u8
*
wmm_info
;
u8
*
wmm_info
;
u8
*
wmm_param
;
u8
*
wmm_param
;
u8
*
ht_cap_elem
;
struct
ieee80211_ht_cap
*
ht_cap_elem
;
u8
*
ht_info_elem
;
struct
ieee80211_ht_addt_info
*
ht_info_elem
;
u8
*
mesh_config
;
u8
*
mesh_config
;
u8
*
mesh_id
;
u8
*
mesh_id
;
u8
*
peer_link
;
u8
*
peer_link
;
...
@@ -844,8 +844,6 @@ struct ieee802_11_elems {
...
@@ -844,8 +844,6 @@ struct ieee802_11_elems {
u8
ext_supp_rates_len
;
u8
ext_supp_rates_len
;
u8
wmm_info_len
;
u8
wmm_info_len
;
u8
wmm_param_len
;
u8
wmm_param_len
;
u8
ht_cap_elem_len
;
u8
ht_info_elem_len
;
u8
mesh_config_len
;
u8
mesh_config_len
;
u8
mesh_id_len
;
u8
mesh_id_len
;
u8
peer_link_len
;
u8
peer_link_len
;
...
...
net/mac80211/mlme.c
View file @
ab55570d
...
@@ -1348,10 +1348,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
...
@@ -1348,10 +1348,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
(
ifsta
->
flags
&
IEEE80211_STA_WMM_ENABLED
))
{
(
ifsta
->
flags
&
IEEE80211_STA_WMM_ENABLED
))
{
struct
ieee80211_ht_bss_info
bss_info
;
struct
ieee80211_ht_bss_info
bss_info
;
ieee80211_ht_cap_ie_to_ht_info
(
ieee80211_ht_cap_ie_to_ht_info
(
(
struct
ieee80211_ht_cap
*
)
elems
.
ht_cap_elem
,
&
sta
->
sta
.
ht_info
);
elems
.
ht_cap_elem
,
&
sta
->
sta
.
ht_info
);
ieee80211_ht_addt_info_ie_to_ht_bss_info
(
ieee80211_ht_addt_info_ie_to_ht_bss_info
(
(
struct
ieee80211_ht_addt_info
*
)
elems
.
ht_info_elem
,
&
bss_info
);
elems
.
ht_info_elem
,
&
bss_info
);
ieee80211_handle_ht
(
local
,
1
,
&
sta
->
sta
.
ht_info
,
&
bss_info
);
ieee80211_handle_ht
(
local
,
1
,
&
sta
->
sta
.
ht_info
,
&
bss_info
);
}
}
...
@@ -1709,7 +1707,6 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
...
@@ -1709,7 +1707,6 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
struct
ieee80211_ht_bss_info
bss_info
;
struct
ieee80211_ht_bss_info
bss_info
;
ieee80211_ht_addt_info_ie_to_ht_bss_info
(
ieee80211_ht_addt_info_ie_to_ht_bss_info
(
(
struct
ieee80211_ht_addt_info
*
)
elems
.
ht_info_elem
,
&
bss_info
);
elems
.
ht_info_elem
,
&
bss_info
);
changed
|=
ieee80211_handle_ht
(
local
,
1
,
&
conf
->
ht_conf
,
changed
|=
ieee80211_handle_ht
(
local
,
1
,
&
conf
->
ht_conf
,
&
bss_info
);
&
bss_info
);
...
...
net/mac80211/scan.c
View file @
ab55570d
...
@@ -388,7 +388,8 @@ ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb,
...
@@ -388,7 +388,8 @@ ieee80211_scan_rx(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb,
bss
=
ieee80211_bss_info_update
(
sdata
->
local
,
rx_status
,
bss
=
ieee80211_bss_info_update
(
sdata
->
local
,
rx_status
,
mgmt
,
skb
->
len
,
&
elems
,
mgmt
,
skb
->
len
,
&
elems
,
freq
,
beacon
);
freq
,
beacon
);
ieee80211_rx_bss_put
(
sdata
->
local
,
bss
);
if
(
bss
)
ieee80211_rx_bss_put
(
sdata
->
local
,
bss
);
dev_kfree_skb
(
skb
);
dev_kfree_skb
(
skb
);
return
RX_QUEUED
;
return
RX_QUEUED
;
...
...
net/mac80211/sta_info.c
View file @
ab55570d
...
@@ -635,7 +635,12 @@ static void sta_info_debugfs_add_work(struct work_struct *work)
...
@@ -635,7 +635,12 @@ static void sta_info_debugfs_add_work(struct work_struct *work)
spin_lock_irqsave
(
&
local
->
sta_lock
,
flags
);
spin_lock_irqsave
(
&
local
->
sta_lock
,
flags
);
list_for_each_entry
(
tmp
,
&
local
->
sta_list
,
list
)
{
list_for_each_entry
(
tmp
,
&
local
->
sta_list
,
list
)
{
if
(
!
tmp
->
debugfs
.
dir
)
{
/*
* debugfs.add_has_run will be set by
* ieee80211_sta_debugfs_add regardless
* of what else it does.
*/
if
(
!
tmp
->
debugfs
.
add_has_run
)
{
sta
=
tmp
;
sta
=
tmp
;
__sta_info_pin
(
sta
);
__sta_info_pin
(
sta
);
break
;
break
;
...
...
net/mac80211/sta_info.h
View file @
ab55570d
...
@@ -300,6 +300,7 @@ struct sta_info {
...
@@ -300,6 +300,7 @@ struct sta_info {
struct
dentry
*
inactive_ms
;
struct
dentry
*
inactive_ms
;
struct
dentry
*
last_seq_ctrl
;
struct
dentry
*
last_seq_ctrl
;
struct
dentry
*
agg_status
;
struct
dentry
*
agg_status
;
bool
add_has_run
;
}
debugfs
;
}
debugfs
;
#endif
#endif
...
...
net/mac80211/util.c
View file @
ab55570d
...
@@ -529,12 +529,12 @@ void ieee802_11_parse_elems(u8 *start, size_t len,
...
@@ -529,12 +529,12 @@ void ieee802_11_parse_elems(u8 *start, size_t len,
elems
->
ext_supp_rates_len
=
elen
;
elems
->
ext_supp_rates_len
=
elen
;
break
;
break
;
case
WLAN_EID_HT_CAPABILITY
:
case
WLAN_EID_HT_CAPABILITY
:
elems
->
ht_cap_elem
=
pos
;
if
(
elen
>=
sizeof
(
struct
ieee80211_ht_cap
))
elems
->
ht_cap_elem_len
=
elen
;
elems
->
ht_cap_elem
=
(
void
*
)
pos
;
break
;
break
;
case
WLAN_EID_HT_EXTRA_INFO
:
case
WLAN_EID_HT_EXTRA_INFO
:
elems
->
ht_info_elem
=
pos
;
if
(
elen
>=
sizeof
(
struct
ieee80211_ht_addt_info
))
elems
->
ht_info_elem_len
=
elen
;
elems
->
ht_info_elem
=
(
void
*
)
pos
;
break
;
break
;
case
WLAN_EID_MESH_ID
:
case
WLAN_EID_MESH_ID
:
elems
->
mesh_id
=
pos
;
elems
->
mesh_id
=
pos
;
...
...
net/mac80211/wext.c
View file @
ab55570d
...
@@ -775,7 +775,7 @@ static int ieee80211_ioctl_siwfrag(struct net_device *dev,
...
@@ -775,7 +775,7 @@ static int ieee80211_ioctl_siwfrag(struct net_device *dev,
* configure it here */
* configure it here */
if
(
local
->
ops
->
set_frag_threshold
)
if
(
local
->
ops
->
set_frag_threshold
)
local
->
ops
->
set_frag_threshold
(
return
local
->
ops
->
set_frag_threshold
(
local_to_hw
(
local
),
local_to_hw
(
local
),
local
->
fragmentation_threshold
);
local
->
fragmentation_threshold
);
...
...
net/wireless/core.c
View file @
ab55570d
...
@@ -184,7 +184,8 @@ int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
...
@@ -184,7 +184,8 @@ int cfg80211_dev_rename(struct cfg80211_registered_device *rdev,
if
(
result
)
if
(
result
)
goto
out_unlock
;
goto
out_unlock
;
if
(
!
debugfs_rename
(
rdev
->
wiphy
.
debugfsdir
->
d_parent
,
if
(
rdev
->
wiphy
.
debugfsdir
&&
!
debugfs_rename
(
rdev
->
wiphy
.
debugfsdir
->
d_parent
,
rdev
->
wiphy
.
debugfsdir
,
rdev
->
wiphy
.
debugfsdir
,
rdev
->
wiphy
.
debugfsdir
->
d_parent
,
rdev
->
wiphy
.
debugfsdir
->
d_parent
,
newname
))
newname
))
...
@@ -317,6 +318,8 @@ int wiphy_register(struct wiphy *wiphy)
...
@@ -317,6 +318,8 @@ int wiphy_register(struct wiphy *wiphy)
drv
->
wiphy
.
debugfsdir
=
drv
->
wiphy
.
debugfsdir
=
debugfs_create_dir
(
wiphy_name
(
&
drv
->
wiphy
),
debugfs_create_dir
(
wiphy_name
(
&
drv
->
wiphy
),
ieee80211_debugfs_dir
);
ieee80211_debugfs_dir
);
if
(
IS_ERR
(
drv
->
wiphy
.
debugfsdir
))
drv
->
wiphy
.
debugfsdir
=
NULL
;
res
=
0
;
res
=
0
;
out_unlock:
out_unlock:
...
...
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