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
d14a7679
Commit
d14a7679
authored
Jul 22, 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
de72e5de
15483996
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
94 additions
and
33 deletions
+94
-33
drivers/net/wireless/ath/ath5k/base.c
drivers/net/wireless/ath/ath5k/base.c
+3
-0
drivers/net/wireless/ath/ath9k/ani.c
drivers/net/wireless/ath/ath9k/ani.c
+12
-0
drivers/net/wireless/ath/regd.c
drivers/net/wireless/ath/regd.c
+17
-0
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-agn.c
+1
-3
drivers/net/wireless/iwlwifi/iwl-tx.c
drivers/net/wireless/iwlwifi/iwl-tx.c
+2
-1
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
+1
-3
drivers/net/wireless/iwmc3200wifi/netdev.c
drivers/net/wireless/iwmc3200wifi/netdev.c
+1
-1
drivers/net/wireless/libertas/cmd.c
drivers/net/wireless/libertas/cmd.c
+7
-1
drivers/net/wireless/libertas/defs.h
drivers/net/wireless/libertas/defs.h
+2
-0
drivers/net/wireless/mac80211_hwsim.c
drivers/net/wireless/mac80211_hwsim.c
+3
-3
drivers/net/wireless/p54/p54spi.c
drivers/net/wireless/p54/p54spi.c
+1
-1
drivers/net/wireless/rt2x00/rt2500usb.c
drivers/net/wireless/rt2x00/rt2500usb.c
+3
-1
drivers/net/wireless/rtl818x/rtl8187_leds.c
drivers/net/wireless/rtl818x/rtl8187_leds.c
+2
-1
drivers/platform/x86/acer-wmi.c
drivers/platform/x86/acer-wmi.c
+1
-1
include/linux/rfkill.h
include/linux/rfkill.h
+1
-1
net/mac80211/Kconfig
net/mac80211/Kconfig
+1
-0
net/mac80211/mesh_pathtbl.c
net/mac80211/mesh_pathtbl.c
+8
-3
net/mac80211/tx.c
net/mac80211/tx.c
+1
-1
net/rfkill/core.c
net/rfkill/core.c
+23
-8
net/wireless/nl80211.c
net/wireless/nl80211.c
+3
-2
net/wireless/scan.c
net/wireless/scan.c
+1
-2
No files found.
drivers/net/wireless/ath/ath5k/base.c
View file @
d14a7679
...
...
@@ -2970,6 +2970,9 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
if
(
modparam_nohwcrypt
)
return
-
EOPNOTSUPP
;
if
(
sc
->
opmode
==
NL80211_IFTYPE_AP
)
return
-
EOPNOTSUPP
;
switch
(
key
->
alg
)
{
case
ALG_WEP
:
case
ALG_TKIP
:
...
...
drivers/net/wireless/ath/ath9k/ani.c
View file @
d14a7679
...
...
@@ -478,6 +478,18 @@ void ath9k_ani_reset(struct ath_hw *ah)
"Reset ANI state opmode %u
\n
"
,
ah
->
opmode
);
ah
->
stats
.
ast_ani_reset
++
;
if
(
ah
->
opmode
==
NL80211_IFTYPE_AP
)
{
/*
* ath9k_hw_ani_control() will only process items set on
* ah->ani_function
*/
if
(
IS_CHAN_2GHZ
(
chan
))
ah
->
ani_function
=
(
ATH9K_ANI_SPUR_IMMUNITY_LEVEL
|
ATH9K_ANI_FIRSTEP_LEVEL
);
else
ah
->
ani_function
=
0
;
}
ath9k_hw_ani_control
(
ah
,
ATH9K_ANI_NOISE_IMMUNITY_LEVEL
,
0
);
ath9k_hw_ani_control
(
ah
,
ATH9K_ANI_SPUR_IMMUNITY_LEVEL
,
0
);
ath9k_hw_ani_control
(
ah
,
ATH9K_ANI_FIRSTEP_LEVEL
,
0
);
...
...
drivers/net/wireless/ath/regd.c
View file @
d14a7679
...
...
@@ -474,6 +474,21 @@ ath_regd_init_wiphy(struct ath_regulatory *reg,
return
0
;
}
/*
* Some users have reported their EEPROM programmed with
* 0x8000 set, this is not a supported regulatory domain
* but since we have more than one user with it we need
* a solution for them. We default to 0x64, which is the
* default Atheros world regulatory domain.
*/
static
void
ath_regd_sanitize
(
struct
ath_regulatory
*
reg
)
{
if
(
reg
->
current_rd
!=
COUNTRY_ERD_FLAG
)
return
;
printk
(
KERN_DEBUG
"ath: EEPROM regdomain sanitized
\n
"
);
reg
->
current_rd
=
0x64
;
}
int
ath_regd_init
(
struct
ath_regulatory
*
reg
,
struct
wiphy
*
wiphy
,
...
...
@@ -486,6 +501,8 @@ ath_regd_init(struct ath_regulatory *reg,
if
(
!
reg
)
return
-
EINVAL
;
ath_regd_sanitize
(
reg
);
printk
(
KERN_DEBUG
"ath: EEPROM regdomain: 0x%0x
\n
"
,
reg
->
current_rd
);
if
(
!
ath_regd_is_eeprom_valid
(
reg
))
{
...
...
drivers/net/wireless/iwlwifi/iwl-agn.c
View file @
d14a7679
...
...
@@ -2675,12 +2675,10 @@ static ssize_t show_power_level(struct device *d,
struct
device_attribute
*
attr
,
char
*
buf
)
{
struct
iwl_priv
*
priv
=
dev_get_drvdata
(
d
);
int
mode
=
priv
->
power_data
.
user_power_setting
;
int
level
=
priv
->
power_data
.
power_mode
;
char
*
p
=
buf
;
p
+=
sprintf
(
p
,
"INDEX:%d
\t
"
,
level
);
p
+=
sprintf
(
p
,
"USER:%d
\n
"
,
mode
);
p
+=
sprintf
(
p
,
"%d
\n
"
,
level
);
return
p
-
buf
+
1
;
}
...
...
drivers/net/wireless/iwlwifi/iwl-tx.c
View file @
d14a7679
...
...
@@ -872,7 +872,8 @@ int iwl_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
iwl_print_hex_dump
(
priv
,
IWL_DL_TX
,
(
u8
*
)
tx_cmd
->
hdr
,
hdr_len
);
/* Set up entry for this TFD in Tx byte-count array */
priv
->
cfg
->
ops
->
lib
->
txq_update_byte_cnt_tbl
(
priv
,
txq
,
if
(
info
->
flags
&
IEEE80211_TX_CTL_AMPDU
)
priv
->
cfg
->
ops
->
lib
->
txq_update_byte_cnt_tbl
(
priv
,
txq
,
le16_to_cpu
(
tx_cmd
->
len
));
pci_dma_sync_single_for_device
(
priv
->
pci_dev
,
txcmd_phys
,
...
...
drivers/net/wireless/iwlwifi/iwl3945-base.c
View file @
d14a7679
...
...
@@ -3643,12 +3643,10 @@ static ssize_t show_power_level(struct device *d,
struct
device_attribute
*
attr
,
char
*
buf
)
{
struct
iwl_priv
*
priv
=
dev_get_drvdata
(
d
);
int
mode
=
priv
->
power_data
.
user_power_setting
;
int
level
=
priv
->
power_data
.
power_mode
;
char
*
p
=
buf
;
p
+=
sprintf
(
p
,
"INDEX:%d
\t
"
,
level
);
p
+=
sprintf
(
p
,
"USER:%d
\n
"
,
mode
);
p
+=
sprintf
(
p
,
"%d
\n
"
,
level
);
return
p
-
buf
+
1
;
}
...
...
drivers/net/wireless/iwmc3200wifi/netdev.c
View file @
d14a7679
...
...
@@ -151,8 +151,8 @@ void iwm_if_free(struct iwm_priv *iwm)
return
;
free_netdev
(
iwm_to_ndev
(
iwm
));
iwm_wdev_free
(
iwm
);
iwm_priv_deinit
(
iwm
);
iwm_wdev_free
(
iwm
);
}
int
iwm_if_add
(
struct
iwm_priv
*
iwm
)
...
...
drivers/net/wireless/libertas/cmd.c
View file @
d14a7679
...
...
@@ -135,8 +135,14 @@ int lbs_update_hw_spec(struct lbs_private *priv)
/* Clamp region code to 8-bit since FW spec indicates that it should
* only ever be 8-bit, even though the field size is 16-bit. Some firmware
* returns non-zero high 8 bits here.
*
* Firmware version 4.0.102 used in CF8381 has region code shifted. We
* need to check for this problem and handle it properly.
*/
priv
->
regioncode
=
le16_to_cpu
(
cmd
.
regioncode
)
&
0xFF
;
if
(
MRVL_FW_MAJOR_REV
(
priv
->
fwrelease
)
==
MRVL_FW_V4
)
priv
->
regioncode
=
(
le16_to_cpu
(
cmd
.
regioncode
)
>>
8
)
&
0xFF
;
else
priv
->
regioncode
=
le16_to_cpu
(
cmd
.
regioncode
)
&
0xFF
;
for
(
i
=
0
;
i
<
MRVDRV_MAX_REGION_CODE
;
i
++
)
{
/* use the region code to search for the index */
...
...
drivers/net/wireless/libertas/defs.h
View file @
d14a7679
...
...
@@ -234,6 +234,8 @@ static inline void lbs_deb_hex(unsigned int grp, const char *prompt, u8 *buf, in
/** Mesh enable bit in FW capability */
#define MESH_CAPINFO_ENABLE_MASK (1<<16)
/** FW definition from Marvell v4 */
#define MRVL_FW_V4 (0x04)
/** FW definition from Marvell v5 */
#define MRVL_FW_V5 (0x05)
/** FW definition from Marvell v10 */
...
...
drivers/net/wireless/mac80211_hwsim.c
View file @
d14a7679
...
...
@@ -709,7 +709,7 @@ static const struct ieee80211_ops mac80211_hwsim_ops =
static
void
mac80211_hwsim_free
(
void
)
{
struct
list_head
tmplist
,
*
i
,
*
tmp
;
struct
mac80211_hwsim_data
*
data
;
struct
mac80211_hwsim_data
*
data
,
*
tmpdata
;
INIT_LIST_HEAD
(
&
tmplist
);
...
...
@@ -718,7 +718,7 @@ static void mac80211_hwsim_free(void)
list_move
(
i
,
&
tmplist
);
spin_unlock_bh
(
&
hwsim_radio_lock
);
list_for_each_entry
(
data
,
&
tmplist
,
list
)
{
list_for_each_entry
_safe
(
data
,
tmp
data
,
&
tmplist
,
list
)
{
debugfs_remove
(
data
->
debugfs_group
);
debugfs_remove
(
data
->
debugfs_ps
);
debugfs_remove
(
data
->
debugfs
);
...
...
@@ -1167,8 +1167,8 @@ static void __exit exit_mac80211_hwsim(void)
{
printk
(
KERN_DEBUG
"mac80211_hwsim: unregister radios
\n
"
);
unregister_netdev
(
hwsim_mon
);
mac80211_hwsim_free
();
unregister_netdev
(
hwsim_mon
);
}
...
...
drivers/net/wireless/p54/p54spi.c
View file @
d14a7679
...
...
@@ -635,7 +635,7 @@ static int __devinit p54spi_probe(struct spi_device *spi)
hw
=
p54_init_common
(
sizeof
(
*
priv
));
if
(
!
hw
)
{
dev_err
(
&
priv
->
spi
->
dev
,
"could not alloc ieee80211_hw"
);
dev_err
(
&
spi
->
dev
,
"could not alloc ieee80211_hw"
);
return
-
ENOMEM
;
}
...
...
drivers/net/wireless/rt2x00/rt2500usb.c
View file @
d14a7679
...
...
@@ -1550,7 +1550,9 @@ static int rt2500usb_init_eeprom(struct rt2x00_dev *rt2x00dev)
rt2500usb_register_read
(
rt2x00dev
,
MAC_CSR0
,
&
reg
);
rt2x00_set_chip
(
rt2x00dev
,
RT2570
,
value
,
reg
);
if
(
!
rt2x00_check_rev
(
&
rt2x00dev
->
chip
,
0x000ffff0
,
0
))
{
if
(
!
rt2x00_check_rev
(
&
rt2x00dev
->
chip
,
0x000ffff0
,
0
)
||
rt2x00_check_rev
(
&
rt2x00dev
->
chip
,
0x0000000f
,
0
))
{
ERROR
(
rt2x00dev
,
"Invalid RT chipset detected.
\n
"
);
return
-
ENODEV
;
}
...
...
drivers/net/wireless/rtl818x/rtl8187_leds.c
View file @
d14a7679
...
...
@@ -208,11 +208,12 @@ void rtl8187_leds_exit(struct ieee80211_hw *dev)
{
struct
rtl8187_priv
*
priv
=
dev
->
priv
;
rtl8187_unregister_led
(
&
priv
->
led_tx
);
/* turn the LED off before exiting */
queue_delayed_work
(
dev
->
workqueue
,
&
priv
->
led_off
,
0
);
cancel_delayed_work_sync
(
&
priv
->
led_off
);
cancel_delayed_work_sync
(
&
priv
->
led_on
);
rtl8187_unregister_led
(
&
priv
->
led_rx
);
rtl8187_unregister_led
(
&
priv
->
led_tx
);
}
#endif
/* def CONFIG_RTL8187_LED */
drivers/platform/x86/acer-wmi.c
View file @
d14a7679
...
...
@@ -973,7 +973,7 @@ static int acer_rfkill_set(void *data, bool blocked)
{
acpi_status
status
;
u32
cap
=
(
unsigned
long
)
data
;
status
=
set_u32
(
!
!
blocked
,
cap
);
status
=
set_u32
(
!
blocked
,
cap
);
if
(
ACPI_FAILURE
(
status
))
return
-
ENODEV
;
return
0
;
...
...
include/linux/rfkill.h
View file @
d14a7679
...
...
@@ -224,7 +224,7 @@ void rfkill_destroy(struct rfkill *rfkill);
* should be blocked) so that drivers need not keep track of the soft
* block state -- which they might not be able to.
*/
bool
__must_check
rfkill_set_hw_state
(
struct
rfkill
*
rfkill
,
bool
blocked
);
bool
rfkill_set_hw_state
(
struct
rfkill
*
rfkill
,
bool
blocked
);
/**
* rfkill_set_sw_state - Set the internal rfkill software block state
...
...
net/mac80211/Kconfig
View file @
d14a7679
...
...
@@ -83,6 +83,7 @@ endmenu
config MAC80211_MESH
bool "Enable mac80211 mesh networking (pre-802.11s) support"
depends on MAC80211 && EXPERIMENTAL
depends on BROKEN
---help---
This options enables support of Draft 802.11s mesh networking.
The implementation is based on Draft 1.08 of the Mesh Networking
...
...
net/mac80211/mesh_pathtbl.c
View file @
d14a7679
...
...
@@ -175,6 +175,8 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata)
int
err
=
0
;
u32
hash_idx
;
might_sleep
();
if
(
memcmp
(
dst
,
sdata
->
dev
->
dev_addr
,
ETH_ALEN
)
==
0
)
/* never add ourselves as neighbours */
return
-
ENOTSUPP
;
...
...
@@ -265,6 +267,7 @@ int mpp_path_add(u8 *dst, u8 *mpp, struct ieee80211_sub_if_data *sdata)
int
err
=
0
;
u32
hash_idx
;
might_sleep
();
if
(
memcmp
(
dst
,
sdata
->
dev
->
dev_addr
,
ETH_ALEN
)
==
0
)
/* never add ourselves as neighbours */
...
...
@@ -491,8 +494,10 @@ void mesh_path_tx_pending(struct mesh_path *mpath)
* @skb: frame to discard
* @sdata: network subif the frame was to be sent through
*
* If the frame was beign forwarded from another MP, a PERR frame will be sent
* to the precursor.
* If the frame was being forwarded from another MP, a PERR frame will be sent
* to the precursor. The precursor's address (i.e. the previous hop) was saved
* in addr1 of the frame-to-be-forwarded, and would only be overwritten once
* the destination is successfully resolved.
*
* Locking: the function must me called within a rcu_read_lock region
*/
...
...
@@ -507,7 +512,7 @@ void mesh_path_discard_frame(struct sk_buff *skb,
u8
*
ra
,
*
da
;
da
=
hdr
->
addr3
;
ra
=
hdr
->
addr
2
;
ra
=
hdr
->
addr
1
;
mpath
=
mesh_path_lookup
(
da
,
sdata
);
if
(
mpath
)
dsn
=
++
mpath
->
dsn
;
...
...
net/mac80211/tx.c
View file @
d14a7679
...
...
@@ -1455,7 +1455,7 @@ int ieee80211_master_start_xmit(struct sk_buff *skb, struct net_device *dev)
monitor_iface
=
UNKNOWN_ADDRESS
;
len_rthdr
=
ieee80211_get_radiotap_len
(
skb
->
data
);
hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
+
len_rthdr
;
hdr
=
(
struct
ieee80211_hdr
*
)
(
skb
->
data
+
len_rthdr
)
;
hdrlen
=
ieee80211_hdrlen
(
hdr
->
frame_control
);
/* check the header is complete in the frame */
...
...
net/rfkill/core.c
View file @
d14a7679
...
...
@@ -549,6 +549,10 @@ void rfkill_set_states(struct rfkill *rfkill, bool sw, bool hw)
swprev
=
!!
(
rfkill
->
state
&
RFKILL_BLOCK_SW
);
hwprev
=
!!
(
rfkill
->
state
&
RFKILL_BLOCK_HW
);
__rfkill_set_sw_state
(
rfkill
,
sw
);
if
(
hw
)
rfkill
->
state
|=
RFKILL_BLOCK_HW
;
else
rfkill
->
state
&=
~
RFKILL_BLOCK_HW
;
spin_unlock_irqrestore
(
&
rfkill
->
lock
,
flags
);
...
...
@@ -648,15 +652,26 @@ static ssize_t rfkill_state_store(struct device *dev,
struct
device_attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
/*
* The intention was that userspace can only take control over
* a given device when/if rfkill-input doesn't control it due
* to user_claim. Since user_claim is currently unsupported,
* we never support changing the state from userspace -- this
* can be implemented again later.
*/
struct
rfkill
*
rfkill
=
to_rfkill
(
dev
);
unsigned
long
state
;
int
err
;
if
(
!
capable
(
CAP_NET_ADMIN
))
return
-
EPERM
;
err
=
strict_strtoul
(
buf
,
0
,
&
state
);
if
(
err
)
return
err
;
if
(
state
!=
RFKILL_USER_STATE_SOFT_BLOCKED
&&
state
!=
RFKILL_USER_STATE_UNBLOCKED
)
return
-
EINVAL
;
mutex_lock
(
&
rfkill_global_mutex
);
rfkill_set_block
(
rfkill
,
state
==
RFKILL_USER_STATE_SOFT_BLOCKED
);
mutex_unlock
(
&
rfkill_global_mutex
);
return
-
EPERM
;
return
err
?:
count
;
}
static
ssize_t
rfkill_claim_show
(
struct
device
*
dev
,
...
...
net/wireless/nl80211.c
View file @
d14a7679
...
...
@@ -997,7 +997,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info)
if
(
IS_ERR
(
hdr
))
{
err
=
PTR_ERR
(
hdr
);
goto
out
;
goto
free_msg
;
}
cookie
.
msg
=
msg
;
...
...
@@ -1011,7 +1011,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info)
&
cookie
,
get_key_callback
);
if
(
err
)
goto
out
;
goto
free_msg
;
if
(
cookie
.
error
)
goto
nla_put_failure
;
...
...
@@ -1022,6 +1022,7 @@ static int nl80211_get_key(struct sk_buff *skb, struct genl_info *info)
nla_put_failure:
err
=
-
ENOBUFS
;
free_msg:
nlmsg_free
(
msg
);
out:
cfg80211_put_dev
(
drv
);
...
...
net/wireless/scan.c
View file @
d14a7679
...
...
@@ -35,8 +35,6 @@ void cfg80211_scan_done(struct cfg80211_scan_request *request, bool aborted)
else
nl80211_send_scan_done
(
wiphy_to_dev
(
request
->
wiphy
),
dev
);
wiphy_to_dev
(
request
->
wiphy
)
->
scan_req
=
NULL
;
#ifdef CONFIG_WIRELESS_EXT
if
(
!
aborted
)
{
memset
(
&
wrqu
,
0
,
sizeof
(
wrqu
));
...
...
@@ -48,6 +46,7 @@ void cfg80211_scan_done(struct cfg80211_scan_request *request, bool aborted)
dev_put
(
dev
);
out:
wiphy_to_dev
(
request
->
wiphy
)
->
scan_req
=
NULL
;
kfree
(
request
);
}
EXPORT_SYMBOL
(
cfg80211_scan_done
);
...
...
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