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
bb123105
Commit
bb123105
authored
Jan 12, 2011
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
72b43d08
4e5518ca
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
109 additions
and
32 deletions
+109
-32
Documentation/DocBook/80211.tmpl
Documentation/DocBook/80211.tmpl
+17
-4
drivers/net/wireless/ath/ath9k/ar9002_calib.c
drivers/net/wireless/ath/ath9k/ar9002_calib.c
+3
-0
drivers/net/wireless/ath/ath9k/eeprom_def.c
drivers/net/wireless/ath/ath9k/eeprom_def.c
+4
-0
drivers/net/wireless/ath/ath9k/htc.h
drivers/net/wireless/ath/ath9k/htc.h
+1
-0
drivers/net/wireless/ath/ath9k/htc_drv_main.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c
+26
-11
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.c
+3
-2
drivers/net/wireless/hostap/hostap_cs.c
drivers/net/wireless/hostap/hostap_cs.c
+6
-9
drivers/net/wireless/ipw2x00/ipw2200.c
drivers/net/wireless/ipw2x00/ipw2200.c
+7
-0
drivers/net/wireless/p54/txrx.c
drivers/net/wireless/p54/txrx.c
+1
-1
drivers/ssb/scan.c
drivers/ssb/scan.c
+10
-0
include/linux/nl80211.h
include/linux/nl80211.h
+15
-5
include/net/cfg80211.h
include/net/cfg80211.h
+2
-0
include/net/mac80211.h
include/net/mac80211.h
+14
-0
No files found.
Documentation/DocBook/80211.tmpl
View file @
bb123105
...
...
@@ -268,10 +268,6 @@
!Finclude/net/mac80211.h ieee80211_ops
!Finclude/net/mac80211.h ieee80211_alloc_hw
!Finclude/net/mac80211.h ieee80211_register_hw
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
!Finclude/net/mac80211.h ieee80211_unregister_hw
!Finclude/net/mac80211.h ieee80211_free_hw
</chapter>
...
...
@@ -382,6 +378,23 @@
</para>
</partintro>
<chapter
id=
"led-support"
>
<title>
LED support
</title>
<para>
Mac80211 supports various ways of blinking LEDs. Wherever possible,
device LEDs should be exposed as LED class devices and hooked up to
the appropriate trigger, which will then be triggered appropriately
by mac80211.
</para>
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
!Finclude/net/mac80211.h ieee80211_tpt_blink
!Finclude/net/mac80211.h ieee80211_tpt_led_trigger_flags
!Finclude/net/mac80211.h ieee80211_create_tpt_led_trigger
</chapter>
<chapter
id=
"hardware-crypto-offload"
>
<title>
Hardware crypto acceleration
</title>
!Pinclude/net/mac80211.h Hardware crypto acceleration
...
...
drivers/net/wireless/ath/ath9k/ar9002_calib.c
View file @
bb123105
...
...
@@ -954,6 +954,9 @@ static void ar9002_hw_init_cal_settings(struct ath_hw *ah)
&
adc_dc_cal_multi_sample
;
}
ah
->
supp_cals
=
ADC_GAIN_CAL
|
ADC_DC_CAL
|
IQ_MISMATCH_CAL
;
if
(
AR_SREV_9287
(
ah
))
ah
->
supp_cals
&=
~
ADC_GAIN_CAL
;
}
}
...
...
drivers/net/wireless/ath/ath9k/eeprom_def.c
View file @
bb123105
...
...
@@ -226,6 +226,10 @@ static int ath9k_hw_def_check_eeprom(struct ath_hw *ah)
eep
->
baseEepHeader
.
pwdclkind
==
0
)
ah
->
need_an_top2_fixup
=
1
;
if
((
common
->
bus_ops
->
ath_bus_type
==
ATH_USB
)
&&
(
AR_SREV_9280
(
ah
)))
eep
->
modalHeader
[
0
].
xpaBiasLvl
=
0
;
return
0
;
}
...
...
drivers/net/wireless/ath/ath9k/htc.h
View file @
bb123105
...
...
@@ -433,6 +433,7 @@ void ath9k_htc_txep(void *priv, struct sk_buff *skb, enum htc_endpoint_id ep_id,
void
ath9k_htc_beaconep
(
void
*
drv_priv
,
struct
sk_buff
*
skb
,
enum
htc_endpoint_id
ep_id
,
bool
txok
);
int
ath9k_htc_update_cap_target
(
struct
ath9k_htc_priv
*
priv
);
void
ath9k_htc_station_work
(
struct
work_struct
*
work
);
void
ath9k_htc_aggr_work
(
struct
work_struct
*
work
);
void
ath9k_ani_work
(
struct
work_struct
*
work
);;
...
...
drivers/net/wireless/ath/ath9k/htc_drv_main.c
View file @
bb123105
...
...
@@ -301,6 +301,16 @@ static int ath9k_htc_add_monitor_interface(struct ath9k_htc_priv *priv)
priv
->
nstations
++
;
/*
* Set chainmask etc. on the target.
*/
ret
=
ath9k_htc_update_cap_target
(
priv
);
if
(
ret
)
ath_dbg
(
common
,
ATH_DBG_CONFIG
,
"Failed to update capability in target
\n
"
);
priv
->
ah
->
is_monitoring
=
true
;
return
0
;
err_vif:
...
...
@@ -328,6 +338,7 @@ static int ath9k_htc_remove_monitor_interface(struct ath9k_htc_priv *priv)
}
priv
->
nstations
--
;
priv
->
ah
->
is_monitoring
=
false
;
return
0
;
}
...
...
@@ -419,7 +430,7 @@ static int ath9k_htc_remove_station(struct ath9k_htc_priv *priv,
return
0
;
}
static
int
ath9k_htc_update_cap_target
(
struct
ath9k_htc_priv
*
priv
)
int
ath9k_htc_update_cap_target
(
struct
ath9k_htc_priv
*
priv
)
{
struct
ath9k_htc_cap_target
tcap
;
int
ret
;
...
...
@@ -1186,6 +1197,20 @@ static int ath9k_htc_config(struct ieee80211_hw *hw, u32 changed)
}
}
/*
* Monitor interface should be added before
* IEEE80211_CONF_CHANGE_CHANNEL is handled.
*/
if
(
changed
&
IEEE80211_CONF_CHANGE_MONITOR
)
{
if
(
conf
->
flags
&
IEEE80211_CONF_MONITOR
)
{
if
(
ath9k_htc_add_monitor_interface
(
priv
))
ath_err
(
common
,
"Failed to set monitor mode
\n
"
);
else
ath_dbg
(
common
,
ATH_DBG_CONFIG
,
"HW opmode set to Monitor mode
\n
"
);
}
}
if
(
changed
&
IEEE80211_CONF_CHANGE_CHANNEL
)
{
struct
ieee80211_channel
*
curchan
=
hw
->
conf
.
channel
;
int
pos
=
curchan
->
hw_value
;
...
...
@@ -1221,16 +1246,6 @@ static int ath9k_htc_config(struct ieee80211_hw *hw, u32 changed)
ath_update_txpow
(
priv
);
}
if
(
changed
&
IEEE80211_CONF_CHANGE_MONITOR
)
{
if
(
conf
->
flags
&
IEEE80211_CONF_MONITOR
)
{
if
(
ath9k_htc_add_monitor_interface
(
priv
))
ath_err
(
common
,
"Failed to set monitor mode
\n
"
);
else
ath_dbg
(
common
,
ATH_DBG_CONFIG
,
"HW opmode set to Monitor mode
\n
"
);
}
}
if
(
changed
&
IEEE80211_CONF_CHANGE_IDLE
)
{
mutex_lock
(
&
priv
->
htc_pm_lock
);
if
(
!
priv
->
ps_idle
)
{
...
...
drivers/net/wireless/ath/ath9k/hw.c
View file @
bb123105
...
...
@@ -436,9 +436,10 @@ static int ath9k_hw_init_macaddr(struct ath_hw *ah)
static
int
ath9k_hw_post_init
(
struct
ath_hw
*
ah
)
{
struct
ath_common
*
common
=
ath9k_hw_common
(
ah
);
int
ecode
;
if
(
!
AR_SREV_9271
(
ah
)
)
{
if
(
common
->
bus_ops
->
ath_bus_type
!=
ATH_USB
)
{
if
(
!
ath9k_hw_chip_test
(
ah
))
return
-
ENODEV
;
}
...
...
@@ -1213,7 +1214,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
ah
->
txchainmask
=
common
->
tx_chainmask
;
ah
->
rxchainmask
=
common
->
rx_chainmask
;
if
(
!
ah
->
chip_fullsleep
)
{
if
(
(
common
->
bus_ops
->
ath_bus_type
!=
ATH_USB
)
&&
!
ah
->
chip_fullsleep
)
{
ath9k_hw_abortpcurecv
(
ah
);
if
(
!
ath9k_hw_stopdmarecv
(
ah
))
{
ath_dbg
(
common
,
ATH_DBG_XMIT
,
...
...
drivers/net/wireless/hostap/hostap_cs.c
View file @
bb123105
...
...
@@ -518,22 +518,21 @@ static int prism2_config(struct pcmcia_device *link)
hw_priv
->
link
=
link
;
/*
* Make sure the IRQ handler cannot proceed until at least
* dev->base_addr is initialized.
* We enable IRQ here, but IRQ handler will not proceed
* until dev->base_addr is set below. This protect us from
* receive interrupts when driver is not initialized.
*/
spin_lock_irqsave
(
&
local
->
irq_init_lock
,
flags
);
ret
=
pcmcia_request_irq
(
link
,
prism2_interrupt
);
if
(
ret
)
goto
failed
_unlock
;
goto
failed
;
ret
=
pcmcia_enable_device
(
link
);
if
(
ret
)
goto
failed
_unlock
;
goto
failed
;
spin_lock_irqsave
(
&
local
->
irq_init_lock
,
flags
);
dev
->
irq
=
link
->
irq
;
dev
->
base_addr
=
link
->
resource
[
0
]
->
start
;
spin_unlock_irqrestore
(
&
local
->
irq_init_lock
,
flags
);
local
->
shutdown
=
0
;
...
...
@@ -546,8 +545,6 @@ static int prism2_config(struct pcmcia_device *link)
return
ret
;
failed_unlock:
spin_unlock_irqrestore
(
&
local
->
irq_init_lock
,
flags
);
failed:
kfree
(
hw_priv
);
prism2_release
((
u_long
)
link
);
...
...
drivers/net/wireless/ipw2x00/ipw2200.c
View file @
bb123105
...
...
@@ -1973,6 +1973,13 @@ static void ipw_irq_tasklet(struct ipw_priv *priv)
inta
=
ipw_read32
(
priv
,
IPW_INTA_RW
);
inta_mask
=
ipw_read32
(
priv
,
IPW_INTA_MASK_R
);
if
(
inta
==
0xFFFFFFFF
)
{
/* Hardware disappeared */
IPW_WARNING
(
"TASKLET INTA == 0xFFFFFFFF
\n
"
);
/* Only handle the cached INTA values */
inta
=
0
;
}
inta
&=
(
IPW_INTA_MASK_ALL
&
inta_mask
);
/* Add any cached INTA values that need to be handled */
...
...
drivers/net/wireless/p54/txrx.c
View file @
bb123105
...
...
@@ -618,7 +618,7 @@ static void p54_tx_80211_header(struct p54_common *priv, struct sk_buff *skb,
else
*
burst_possible
=
false
;
if
(
info
->
flags
&
IEEE80211_TX_CTL_ASSIGN_SEQ
)
if
(
!
(
info
->
flags
&
IEEE80211_TX_CTL_ASSIGN_SEQ
)
)
*
flags
|=
P54_HDR_FLAG_DATA_OUT_SEQNR
;
if
(
info
->
flags
&
IEEE80211_TX_CTL_PSPOLL_RESPONSE
)
...
...
drivers/ssb/scan.c
View file @
bb123105
...
...
@@ -420,6 +420,16 @@ int ssb_bus_scan(struct ssb_bus *bus,
bus
->
pcicore
.
dev
=
dev
;
#endif
/* CONFIG_SSB_DRIVER_PCICORE */
break
;
case
SSB_DEV_ETHERNET
:
if
(
bus
->
bustype
==
SSB_BUSTYPE_PCI
)
{
if
(
bus
->
host_pci
->
vendor
==
PCI_VENDOR_ID_BROADCOM
&&
(
bus
->
host_pci
->
device
&
0xFF00
)
==
0x4300
)
{
/* This is a dangling ethernet core on a
* wireless device. Ignore it. */
continue
;
}
}
break
;
default:
break
;
}
...
...
include/linux/nl80211.h
View file @
bb123105
...
...
@@ -148,6 +148,10 @@
* @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to
* destination %NL80211_ATTR_MAC on the interface identified by
* %NL80211_ATTR_IFINDEX.
* @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by
* %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP.
* @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
* %NL80211_ATTR_MAC.
* @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
* the interface identified by %NL80211_ATTR_IFINDEX.
* @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
...
...
@@ -612,7 +616,7 @@ enum nl80211_commands {
* consisting of a nested array.
*
* @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes).
* @NL80211_ATTR_PLINK_ACTION: action to perform on the mesh peer link.
* @NL80211_ATTR_
STA_
PLINK_ACTION: action to perform on the mesh peer link.
* @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path.
* @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path
* info given for %NL80211_CMD_GET_MPATH, nested attribute described at
...
...
@@ -880,6 +884,8 @@ enum nl80211_commands {
*
* @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be
* changed once the mesh is active.
* @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute
* containing attributes from &enum nl80211_meshconf_params.
*
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
...
...
@@ -1225,8 +1231,6 @@ enum nl80211_rate_info {
* @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
* @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)
* @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)
* @__NL80211_STA_INFO_AFTER_LAST: internal
* @NL80211_STA_INFO_MAX: highest possible station info attribute
* @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
* @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
* containing info as possible, see &enum nl80211_sta_info_txrate.
...
...
@@ -1236,6 +1240,11 @@ enum nl80211_rate_info {
* @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)
* @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)
* @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
* @NL80211_STA_INFO_LLID: the station's mesh LLID
* @NL80211_STA_INFO_PLID: the station's mesh PLID
* @NL80211_STA_INFO_PLINK_STATE: peer link state for the station
* @__NL80211_STA_INFO_AFTER_LAST: internal
* @NL80211_STA_INFO_MAX: highest possible station info attribute
*/
enum
nl80211_sta_info
{
__NL80211_STA_INFO_INVALID
,
...
...
@@ -1626,7 +1635,7 @@ enum nl80211_mntr_flags {
* @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
* that it takes for an HWMP information element to propagate across the mesh
*
* @NL80211_MESHCONF_ROOTMODE: whether root mode is enabled or not
* @NL80211_MESHCONF_
HWMP_
ROOTMODE: whether root mode is enabled or not
*
* @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
* source mesh point for path selection elements.
...
...
@@ -1678,6 +1687,7 @@ enum nl80211_meshconf_params {
* element that vendors will use to identify the path selection methods and
* metrics in use.
*
* @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
* @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use
*/
enum
nl80211_mesh_setup_params
{
...
...
include/net/cfg80211.h
View file @
bb123105
...
...
@@ -1103,6 +1103,8 @@ struct cfg80211_pmksa {
* @change_mpath: change a given mesh path
* @get_mpath: get a mesh path for the given parameters
* @dump_mpath: dump mesh path callback -- resume dump at index @idx
* @join_mesh: join the mesh network with the specified parameters
* @leave_mesh: leave the current mesh network
*
* @get_mesh_config: Get the current mesh configuration
*
...
...
include/net/mac80211.h
View file @
bb123105
...
...
@@ -337,6 +337,10 @@ struct ieee80211_bss_conf {
* @IEEE80211_TX_CTL_LDPC: tells the driver to use LDPC for this frame
* @IEEE80211_TX_CTL_STBC: Enables Space-Time Block Coding (STBC) for this
* frame and selects the maximum number of streams that it can use.
* @IEEE80211_TX_CTL_TX_OFFCHAN: Marks this packet to be transmitted on
* the off-channel channel when a remain-on-channel offload is done
* in hardware -- normal packets still flow and are expected to be
* handled properly by the device.
*
* Note: If you have to add new flags to the enumeration, then don't
* forget to update %IEEE80211_TX_TEMPORARY_FLAGS when necessary.
...
...
@@ -1753,6 +1757,16 @@ enum ieee80211_ampdu_mlme_action {
* (also see nl80211.h @NL80211_ATTR_WIPHY_ANTENNA_TX).
*
* @get_antenna: Get current antenna configuration from device (tx_ant, rx_ant).
*
* @remain_on_channel: Starts an off-channel period on the given channel, must
* call back to ieee80211_ready_on_channel() when on that channel. Note
* that normal channel traffic is not stopped as this is intended for hw
* offload. Frames to transmit on the off-channel channel are transmitted
* normally except for the %IEEE80211_TX_CTL_TX_OFFCHAN flag. When the
* duration (which will always be non-zero) expires, the driver must call
* ieee80211_remain_on_channel_expired(). This callback may sleep.
* @cancel_remain_on_channel: Requests that an ongoing off-channel period is
* aborted before it expires. This callback may sleep.
*/
struct
ieee80211_ops
{
int
(
*
tx
)(
struct
ieee80211_hw
*
hw
,
struct
sk_buff
*
skb
);
...
...
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