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
nexedi
linux
Commits
b7e03ec9
Commit
b7e03ec9
authored
Dec 22, 2010
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
parents
762e3023
b51aff05
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
36 additions
and
9 deletions
+36
-9
drivers/net/wireless/hostap/hostap_main.c
drivers/net/wireless/hostap/hostap_main.c
+0
-1
drivers/net/wireless/rt2x00/rt2800pci.c
drivers/net/wireless/rt2x00/rt2800pci.c
+1
-0
drivers/net/wireless/rt2x00/rt2x00.h
drivers/net/wireless/rt2x00/rt2x00.h
+1
-0
drivers/net/wireless/rt2x00/rt2x00dev.c
drivers/net/wireless/rt2x00/rt2x00dev.c
+6
-3
include/net/mac80211.h
include/net/mac80211.h
+24
-4
net/mac80211/rx.c
net/mac80211/rx.c
+4
-1
No files found.
drivers/net/wireless/hostap/hostap_main.c
View file @
b7e03ec9
...
...
@@ -891,7 +891,6 @@ void hostap_setup_dev(struct net_device *dev, local_info_t *local,
SET_ETHTOOL_OPS
(
dev
,
&
prism2_ethtool_ops
);
netif_stop_queue
(
dev
);
}
static
int
hostap_enable_hostapd
(
local_info_t
*
local
,
int
rtnl_locked
)
...
...
drivers/net/wireless/rt2x00/rt2800pci.c
View file @
b7e03ec9
...
...
@@ -912,6 +912,7 @@ static int rt2800pci_probe_hw(struct rt2x00_dev *rt2x00dev)
__set_bit
(
DRIVER_REQUIRE_DMA
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_REQUIRE_L2PAD
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_REQUIRE_TXSTATUS_FIFO
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_REQUIRE_TASKLET_CONTEXT
,
&
rt2x00dev
->
flags
);
if
(
!
modparam_nohwcrypt
)
__set_bit
(
CONFIG_SUPPORT_HW_CRYPTO
,
&
rt2x00dev
->
flags
);
__set_bit
(
DRIVER_SUPPORT_LINK_TUNING
,
&
rt2x00dev
->
flags
);
...
...
drivers/net/wireless/rt2x00/rt2x00.h
View file @
b7e03ec9
...
...
@@ -664,6 +664,7 @@ enum rt2x00_flags {
DRIVER_REQUIRE_COPY_IV
,
DRIVER_REQUIRE_L2PAD
,
DRIVER_REQUIRE_TXSTATUS_FIFO
,
DRIVER_REQUIRE_TASKLET_CONTEXT
,
/*
* Driver features
...
...
drivers/net/wireless/rt2x00/rt2x00dev.c
View file @
b7e03ec9
...
...
@@ -390,9 +390,12 @@ void rt2x00lib_txdone(struct queue_entry *entry,
* through a mac80211 library call (RTS/CTS) then we should not
* send the status report back.
*/
if
(
!
(
skbdesc_flags
&
SKBDESC_NOT_MAC80211
))
ieee80211_tx_status
(
rt2x00dev
->
hw
,
entry
->
skb
);
else
if
(
!
(
skbdesc_flags
&
SKBDESC_NOT_MAC80211
))
{
if
(
test_bit
(
DRIVER_REQUIRE_TASKLET_CONTEXT
,
&
rt2x00dev
->
flags
))
ieee80211_tx_status
(
rt2x00dev
->
hw
,
entry
->
skb
);
else
ieee80211_tx_status_ni
(
rt2x00dev
->
hw
,
entry
->
skb
);
}
else
dev_kfree_skb_any
(
entry
->
skb
);
/*
...
...
include/net/mac80211.h
View file @
b7e03ec9
...
...
@@ -2024,8 +2024,8 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw,
*
* This function may not be called in IRQ context. Calls to this function
* for a single hardware must be synchronized against each other. Calls
* to this function
and ieee80211_tx_status_irqsafe() may not be mixed
* for a single hardware.
* to this function
, ieee80211_tx_status_ni() and ieee80211_tx_status_irqsafe()
*
may not be mixed
for a single hardware.
*
* @hw: the hardware the frame was transmitted by
* @skb: the frame that was transmitted, owned by mac80211 after this call
...
...
@@ -2033,14 +2033,34 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw,
void
ieee80211_tx_status
(
struct
ieee80211_hw
*
hw
,
struct
sk_buff
*
skb
);
/**
* ieee80211_tx_status_ni - transmit status callback (in process context)
*
* Like ieee80211_tx_status() but can be called in process context.
*
* Calls to this function, ieee80211_tx_status() and
* ieee80211_tx_status_irqsafe() may not be mixed
* for a single hardware.
*
* @hw: the hardware the frame was transmitted by
* @skb: the frame that was transmitted, owned by mac80211 after this call
*/
static
inline
void
ieee80211_tx_status_ni
(
struct
ieee80211_hw
*
hw
,
struct
sk_buff
*
skb
)
{
local_bh_disable
();
ieee80211_tx_status
(
hw
,
skb
);
local_bh_enable
();
}
/**
* ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback
*
* Like ieee80211_tx_status() but can be called in IRQ context
* (internally defers to a tasklet.)
*
* Calls to this function
and ieee80211_tx_status() may not be mixed for a
* single hardware.
* Calls to this function
, ieee80211_tx_status() and
*
ieee80211_tx_status_ni() may not be mixed for a
single hardware.
*
* @hw: the hardware the frame was transmitted by
* @skb: the frame that was transmitted, owned by mac80211 after this call
...
...
net/mac80211/rx.c
View file @
b7e03ec9
...
...
@@ -1788,9 +1788,11 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
fwd_skb
=
skb_copy
(
skb
,
GFP_ATOMIC
);
if
(
!
fwd_skb
&&
net_ratelimit
())
if
(
!
fwd_skb
&&
net_ratelimit
())
{
printk
(
KERN_DEBUG
"%s: failed to clone mesh frame
\n
"
,
sdata
->
name
);
goto
out
;
}
fwd_hdr
=
(
struct
ieee80211_hdr
*
)
fwd_skb
->
data
;
memcpy
(
fwd_hdr
->
addr2
,
sdata
->
vif
.
addr
,
ETH_ALEN
);
...
...
@@ -1828,6 +1830,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
}
}
out:
if
(
is_multicast_ether_addr
(
hdr
->
addr1
)
||
sdata
->
dev
->
flags
&
IFF_PROMISC
)
return
RX_CONTINUE
;
...
...
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