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
11cabe1c
Commit
11cabe1c
authored
Sep 16, 2009
by
Stephen Rothwell
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'wireless/master'
parents
88f4e8a0
cd559b36
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
71 additions
and
31 deletions
+71
-31
drivers/net/wireless/Kconfig
drivers/net/wireless/Kconfig
+1
-0
drivers/net/wireless/ath/ath9k/ani.c
drivers/net/wireless/ath/ath9k/ani.c
+4
-2
drivers/net/wireless/b43/main.c
drivers/net/wireless/b43/main.c
+3
-5
drivers/net/wireless/hostap/hostap_main.c
drivers/net/wireless/hostap/hostap_main.c
+2
-1
drivers/net/wireless/iwlwifi/iwl-4965.c
drivers/net/wireless/iwlwifi/iwl-4965.c
+1
-0
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+9
-1
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.c
+6
-3
drivers/net/wireless/iwlwifi/iwl-core.h
drivers/net/wireless/iwlwifi/iwl-core.h
+1
-0
drivers/net/wireless/iwlwifi/iwl-power.c
drivers/net/wireless/iwlwifi/iwl-power.c
+3
-2
drivers/net/wireless/iwlwifi/iwl-rx.c
drivers/net/wireless/iwlwifi/iwl-rx.c
+17
-7
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
+16
-8
drivers/ssb/pci.c
drivers/ssb/pci.c
+1
-0
drivers/ssb/sdio.c
drivers/ssb/sdio.c
+1
-1
net/wireless/scan.c
net/wireless/scan.c
+6
-1
No files found.
drivers/net/wireless/Kconfig
View file @
11cabe1c
...
...
@@ -5,6 +5,7 @@
menuconfig WLAN
bool "Wireless LAN"
depends on !S390
default y
---help---
This section contains all the pre 802.11 and 802.11 wireless
device drivers. For a complete list of drivers and documentation
...
...
drivers/net/wireless/ath/ath9k/ani.c
View file @
11cabe1c
...
...
@@ -327,7 +327,8 @@ static void ath9k_hw_ani_ofdm_err_trigger(struct ath_hw *ah)
aniState
->
firstepLevel
+
1
);
return
;
}
else
{
if
(
conf
->
channel
->
band
==
IEEE80211_BAND_2GHZ
)
{
if
((
conf
->
channel
->
band
==
IEEE80211_BAND_2GHZ
)
&&
!
conf_is_ht
(
conf
))
{
if
(
!
aniState
->
ofdmWeakSigDetectOff
)
ath9k_hw_ani_control
(
ah
,
ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION
,
...
...
@@ -369,7 +370,8 @@ static void ath9k_hw_ani_cck_err_trigger(struct ath_hw *ah)
ath9k_hw_ani_control
(
ah
,
ATH9K_ANI_FIRSTEP_LEVEL
,
aniState
->
firstepLevel
+
1
);
}
else
{
if
(
conf
->
channel
->
band
==
IEEE80211_BAND_2GHZ
)
{
if
((
conf
->
channel
->
band
==
IEEE80211_BAND_2GHZ
)
&&
!
conf_is_ht
(
conf
))
{
if
(
aniState
->
firstepLevel
>
0
)
ath9k_hw_ani_control
(
ah
,
ATH9K_ANI_FIRSTEP_LEVEL
,
0
);
...
...
drivers/net/wireless/b43/main.c
View file @
11cabe1c
...
...
@@ -2289,11 +2289,7 @@ static int b43_upload_microcode(struct b43_wldev *dev)
err
=
-
ENODEV
;
goto
error
;
}
msleep_interruptible
(
50
);
if
(
signal_pending
(
current
))
{
err
=
-
EINTR
;
goto
error
;
}
msleep
(
50
);
}
b43_read32
(
dev
,
B43_MMIO_GEN_IRQ_REASON
);
/* dummy read */
...
...
@@ -4287,6 +4283,8 @@ static int b43_wireless_core_init(struct b43_wldev *dev)
if
(
!
dev
->
suspend_in_progress
)
b43_rng_init
(
wl
);
ieee80211_wake_queues
(
dev
->
wl
->
hw
);
b43_set_status
(
dev
,
B43_STAT_INITIALIZED
);
if
(
!
dev
->
suspend_in_progress
)
...
...
drivers/net/wireless/hostap/hostap_main.c
View file @
11cabe1c
...
...
@@ -875,15 +875,16 @@ void hostap_setup_dev(struct net_device *dev, local_info_t *local,
switch
(
type
)
{
case
HOSTAP_INTERFACE_AP
:
dev
->
tx_queue_len
=
0
;
/* use main radio device queue */
dev
->
netdev_ops
=
&
hostap_mgmt_netdev_ops
;
dev
->
type
=
ARPHRD_IEEE80211
;
dev
->
header_ops
=
&
hostap_80211_ops
;
break
;
case
HOSTAP_INTERFACE_MASTER
:
dev
->
tx_queue_len
=
0
;
/* use main radio device queue */
dev
->
netdev_ops
=
&
hostap_master_ops
;
break
;
default:
dev
->
tx_queue_len
=
0
;
/* use main radio device queue */
dev
->
netdev_ops
=
&
hostap_netdev_ops
;
}
...
...
drivers/net/wireless/iwlwifi/iwl-4965.c
View file @
11cabe1c
...
...
@@ -2346,6 +2346,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
.
mod_params
=
&
iwl4965_mod_params
,
.
use_isr_legacy
=
true
,
.
ht_greenfield_support
=
false
,
.
broken_powersave
=
true
,
};
/* Module firmware */
...
...
drivers/net/wireless/iwlwifi/iwl-agn-rs.c
View file @
11cabe1c
...
...
@@ -760,6 +760,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
u16
high_low
;
u8
switch_to_legacy
=
0
;
u8
is_green
=
lq_sta
->
is_green
;
struct
iwl_priv
*
priv
=
lq_sta
->
drv
;
/* check if we need to switch from HT to legacy rates.
* assumption is that mandatory rates (1Mbps or 6Mbps)
...
...
@@ -773,7 +774,8 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
tbl
->
lq_type
=
LQ_G
;
if
(
num_of_ant
(
tbl
->
ant_type
)
>
1
)
tbl
->
ant_type
=
ANT_A
;
/*FIXME:RS*/
tbl
->
ant_type
=
first_antenna
(
priv
->
hw_params
.
valid_tx_ant
);
tbl
->
is_ht40
=
0
;
tbl
->
is_SGI
=
0
;
...
...
@@ -883,6 +885,12 @@ static void rs_tx_status(void *priv_r, struct ieee80211_supported_band *sband,
mac_index
&=
RATE_MCS_CODE_MSK
;
/* Remove # of streams */
if
(
mac_index
>=
(
IWL_RATE_9M_INDEX
-
IWL_FIRST_OFDM_RATE
))
mac_index
++
;
/*
* mac80211 HT index is always zero-indexed; we need to move
* HT OFDM rates after CCK rates in 2.4 GHz band
*/
if
(
priv
->
band
==
IEEE80211_BAND_2GHZ
)
mac_index
+=
IWL_FIRST_OFDM_RATE
;
}
if
((
mac_index
<
0
)
||
...
...
drivers/net/wireless/iwlwifi/iwl-core.c
View file @
11cabe1c
...
...
@@ -1585,9 +1585,12 @@ int iwl_setup_mac(struct iwl_priv *priv)
hw
->
flags
=
IEEE80211_HW_SIGNAL_DBM
|
IEEE80211_HW_NOISE_DBM
|
IEEE80211_HW_AMPDU_AGGREGATION
|
IEEE80211_HW_SPECTRUM_MGMT
|
IEEE80211_HW_SUPPORTS_PS
|
IEEE80211_HW_SUPPORTS_DYNAMIC_PS
;
IEEE80211_HW_SPECTRUM_MGMT
;
if
(
!
priv
->
cfg
->
broken_powersave
)
hw
->
flags
|=
IEEE80211_HW_SUPPORTS_PS
|
IEEE80211_HW_SUPPORTS_DYNAMIC_PS
;
hw
->
wiphy
->
interface_modes
=
BIT
(
NL80211_IFTYPE_STATION
)
|
BIT
(
NL80211_IFTYPE_ADHOC
);
...
...
drivers/net/wireless/iwlwifi/iwl-core.h
View file @
11cabe1c
...
...
@@ -252,6 +252,7 @@ struct iwl_cfg {
const
u16
max_ll_items
;
const
bool
shadow_ram_support
;
const
bool
ht_greenfield_support
;
const
bool
broken_powersave
;
};
/***************************
...
...
drivers/net/wireless/iwlwifi/iwl-power.c
View file @
11cabe1c
...
...
@@ -292,8 +292,9 @@ int iwl_power_update_mode(struct iwl_priv *priv, bool force)
else
dtimper
=
1
;
/* TT power setting overwrites everything */
if
(
tt
->
state
>=
IWL_TI_1
)
if
(
priv
->
cfg
->
broken_powersave
)
iwl_power_sleep_cam_cmd
(
priv
,
&
cmd
);
else
if
(
tt
->
state
>=
IWL_TI_1
)
iwl_static_sleep_cmd
(
priv
,
&
cmd
,
tt
->
tt_power_mode
,
dtimper
);
else
if
(
!
enabled
)
iwl_power_sleep_cam_cmd
(
priv
,
&
cmd
);
...
...
drivers/net/wireless/iwlwifi/iwl-rx.c
View file @
11cabe1c
...
...
@@ -239,26 +239,22 @@ void iwl_rx_allocate(struct iwl_priv *priv, gfp_t priority)
struct
iwl_rx_queue
*
rxq
=
&
priv
->
rxq
;
struct
list_head
*
element
;
struct
iwl_rx_mem_buffer
*
rxb
;
struct
sk_buff
*
skb
;
unsigned
long
flags
;
while
(
1
)
{
spin_lock_irqsave
(
&
rxq
->
lock
,
flags
);
if
(
list_empty
(
&
rxq
->
rx_used
))
{
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
return
;
}
element
=
rxq
->
rx_used
.
next
;
rxb
=
list_entry
(
element
,
struct
iwl_rx_mem_buffer
,
list
);
list_del
(
element
);
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
/* Alloc a new receive buffer */
rxb
->
skb
=
alloc_skb
(
priv
->
hw_params
.
rx_buf_size
+
256
,
skb
=
alloc_skb
(
priv
->
hw_params
.
rx_buf_size
+
256
,
priority
);
if
(
!
rxb
->
skb
)
{
if
(
!
skb
)
{
IWL_CRIT
(
priv
,
"Can not allocate SKB buffers
\n
"
);
/* We don't reschedule replenish work here -- we will
* call the restock method and if it still needs
...
...
@@ -266,6 +262,20 @@ void iwl_rx_allocate(struct iwl_priv *priv, gfp_t priority)
break
;
}
spin_lock_irqsave
(
&
rxq
->
lock
,
flags
);
if
(
list_empty
(
&
rxq
->
rx_used
))
{
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
dev_kfree_skb_any
(
skb
);
return
;
}
element
=
rxq
->
rx_used
.
next
;
rxb
=
list_entry
(
element
,
struct
iwl_rx_mem_buffer
,
list
);
list_del
(
element
);
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
rxb
->
skb
=
skb
;
/* Get physical address of RB/SKB */
rxb
->
real_dma_addr
=
pci_map_single
(
priv
->
pci_dev
,
...
...
drivers/net/wireless/iwlwifi/iwl3945-base.c
View file @
11cabe1c
...
...
@@ -1134,6 +1134,7 @@ static void iwl3945_rx_allocate(struct iwl_priv *priv, gfp_t priority)
struct
iwl_rx_queue
*
rxq
=
&
priv
->
rxq
;
struct
list_head
*
element
;
struct
iwl_rx_mem_buffer
*
rxb
;
struct
sk_buff
*
skb
;
unsigned
long
flags
;
while
(
1
)
{
...
...
@@ -1143,17 +1144,11 @@ static void iwl3945_rx_allocate(struct iwl_priv *priv, gfp_t priority)
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
return
;
}
element
=
rxq
->
rx_used
.
next
;
rxb
=
list_entry
(
element
,
struct
iwl_rx_mem_buffer
,
list
);
list_del
(
element
);
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
/* Alloc a new receive buffer */
rxb
->
skb
=
alloc_skb
(
priv
->
hw_params
.
rx_buf_size
,
priority
);
if
(
!
rxb
->
skb
)
{
skb
=
alloc_skb
(
priv
->
hw_params
.
rx_buf_size
,
priority
);
if
(
!
skb
)
{
if
(
net_ratelimit
())
IWL_CRIT
(
priv
,
": Can not allocate SKB buffers
\n
"
);
/* We don't reschedule replenish work here -- we will
...
...
@@ -1162,6 +1157,19 @@ static void iwl3945_rx_allocate(struct iwl_priv *priv, gfp_t priority)
break
;
}
spin_lock_irqsave
(
&
rxq
->
lock
,
flags
);
if
(
list_empty
(
&
rxq
->
rx_used
))
{
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
dev_kfree_skb_any
(
skb
);
return
;
}
element
=
rxq
->
rx_used
.
next
;
rxb
=
list_entry
(
element
,
struct
iwl_rx_mem_buffer
,
list
);
list_del
(
element
);
spin_unlock_irqrestore
(
&
rxq
->
lock
,
flags
);
rxb
->
skb
=
skb
;
/* If radiotap head is required, reserve some headroom here.
* The physical head count is a variable rx_stats->phy_count.
* We reserve 4 bytes here. Plus these extra bytes, the
...
...
drivers/ssb/pci.c
View file @
11cabe1c
...
...
@@ -600,6 +600,7 @@ static int sprom_extract(struct ssb_bus *bus, struct ssb_sprom *out,
ssb_printk
(
KERN_WARNING
PFX
"Unsupported SPROM"
" revision %d detected. Will extract"
" v1
\n
"
,
out
->
revision
);
out
->
revision
=
1
;
sprom_extract_r123
(
out
,
in
);
}
}
...
...
drivers/ssb/sdio.c
View file @
11cabe1c
...
...
@@ -21,7 +21,7 @@
#include "ssb_private.h"
/* Define the following to 1 to enable a printk on each coreswitch. */
#define SSB_VERBOSE_SDIOCORESWITCH_DEBUG
1
#define SSB_VERBOSE_SDIOCORESWITCH_DEBUG
0
/* Hardware invariants CIS tuples */
...
...
net/wireless/scan.c
View file @
11cabe1c
...
...
@@ -662,7 +662,7 @@ int cfg80211_wext_siwscan(struct net_device *dev,
int
k
;
int
wiphy_freq
=
wiphy
->
bands
[
band
]
->
channels
[
j
].
center_freq
;
for
(
k
=
0
;
k
<
wreq
->
num_channels
;
k
++
)
{
int
wext_freq
=
wreq
->
channel_list
[
k
].
m
/
100000
;
int
wext_freq
=
cfg80211_wext_freq
(
wiphy
,
&
wreq
->
channel_list
[
k
])
;
if
(
wext_freq
==
wiphy_freq
)
goto
wext_freq_found
;
}
...
...
@@ -675,6 +675,11 @@ int cfg80211_wext_siwscan(struct net_device *dev,
wext_freq_not_found:
;
}
}
/* No channels found? */
if
(
!
i
)
{
err
=
-
EINVAL
;
goto
out
;
}
/* Set real number of channels specified in creq->channels[] */
creq
->
n_channels
=
i
;
...
...
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