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
f7f65d1e
Commit
f7f65d1e
authored
Nov 20, 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
eafdcb43
4018517a
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
23 additions
and
58 deletions
+23
-58
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-agn.c
+3
-4
drivers/net/wireless/iwlwifi/iwl-dev.h
drivers/net/wireless/iwlwifi/iwl-dev.h
+2
-1
drivers/net/wireless/iwlwifi/iwl-rx.c
drivers/net/wireless/iwlwifi/iwl-rx.c
+17
-9
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
+0
-1
drivers/net/wireless/libertas_tf/if_usb.c
drivers/net/wireless/libertas_tf/if_usb.c
+1
-1
include/net/mac80211.h
include/net/mac80211.h
+0
-20
net/mac80211/mlme.c
net/mac80211/mlme.c
+0
-22
No files found.
drivers/net/wireless/iwlwifi/iwl-agn.c
View file @
f7f65d1e
...
...
@@ -1384,7 +1384,7 @@ void iwl_rx_handle(struct iwl_priv *priv)
rxq
->
queue
[
i
]
=
NULL
;
pci_dma_sync_single_for_cpu
(
priv
->
pci_dev
,
rxb
->
dma_addr
,
pci_dma_sync_single_for_cpu
(
priv
->
pci_dev
,
rxb
->
aligned_
dma_addr
,
priv
->
hw_params
.
rx_buf_size
,
PCI_DMA_FROMDEVICE
);
pkt
=
(
struct
iwl_rx_packet
*
)
rxb
->
skb
->
data
;
...
...
@@ -1436,8 +1436,8 @@ void iwl_rx_handle(struct iwl_priv *priv)
rxb
->
skb
=
NULL
;
}
pci_unmap_single
(
priv
->
pci_dev
,
rxb
->
dma_addr
,
priv
->
hw_params
.
rx_buf_size
,
pci_unmap_single
(
priv
->
pci_dev
,
rxb
->
real_
dma_addr
,
priv
->
hw_params
.
rx_buf_size
+
256
,
PCI_DMA_FROMDEVICE
);
spin_lock_irqsave
(
&
rxq
->
lock
,
flags
);
list_add_tail
(
&
rxb
->
list
,
&
priv
->
rxq
.
rx_used
);
...
...
@@ -2341,7 +2341,6 @@ static void iwl_bg_alive_start(struct work_struct *data)
mutex_lock
(
&
priv
->
mutex
);
iwl_alive_start
(
priv
);
mutex_unlock
(
&
priv
->
mutex
);
ieee80211_notify_mac
(
priv
->
hw
,
IEEE80211_NOTIFY_RE_ASSOC
);
}
static
void
iwl4965_bg_rf_kill
(
struct
work_struct
*
work
)
...
...
drivers/net/wireless/iwlwifi/iwl-dev.h
View file @
f7f65d1e
...
...
@@ -89,7 +89,8 @@ extern struct iwl_cfg iwl5100_abg_cfg;
#define DEFAULT_LONG_RETRY_LIMIT 4U
struct
iwl_rx_mem_buffer
{
dma_addr_t
dma_addr
;
dma_addr_t
real_dma_addr
;
dma_addr_t
aligned_dma_addr
;
struct
sk_buff
*
skb
;
struct
list_head
list
;
};
...
...
drivers/net/wireless/iwlwifi/iwl-rx.c
View file @
f7f65d1e
...
...
@@ -204,7 +204,7 @@ int iwl_rx_queue_restock(struct iwl_priv *priv)
list_del
(
element
);
/* Point to Rx buffer via next RBD in circular buffer */
rxq
->
bd
[
rxq
->
write
]
=
iwl_dma_addr2rbd_ptr
(
priv
,
rxb
->
dma_addr
);
rxq
->
bd
[
rxq
->
write
]
=
iwl_dma_addr2rbd_ptr
(
priv
,
rxb
->
aligned_
dma_addr
);
rxq
->
queue
[
rxq
->
write
]
=
rxb
;
rxq
->
write
=
(
rxq
->
write
+
1
)
&
RX_QUEUE_MASK
;
rxq
->
free_count
--
;
...
...
@@ -251,7 +251,7 @@ void iwl_rx_allocate(struct iwl_priv *priv)
rxb
=
list_entry
(
element
,
struct
iwl_rx_mem_buffer
,
list
);
/* Alloc a new receive buffer */
rxb
->
skb
=
alloc_skb
(
priv
->
hw_params
.
rx_buf_size
,
rxb
->
skb
=
alloc_skb
(
priv
->
hw_params
.
rx_buf_size
+
256
,
__GFP_NOWARN
|
GFP_ATOMIC
);
if
(
!
rxb
->
skb
)
{
if
(
net_ratelimit
())
...
...
@@ -266,9 +266,17 @@ void iwl_rx_allocate(struct iwl_priv *priv)
list_del
(
element
);
/* Get physical address of RB/SKB */
rxb
->
dma_addr
=
pci_map_single
(
priv
->
pci_dev
,
rxb
->
skb
->
data
,
priv
->
hw_params
.
rx_buf_size
,
PCI_DMA_FROMDEVICE
);
rxb
->
real_dma_addr
=
pci_map_single
(
priv
->
pci_dev
,
rxb
->
skb
->
data
,
priv
->
hw_params
.
rx_buf_size
+
256
,
PCI_DMA_FROMDEVICE
);
/* dma address must be no more than 36 bits */
BUG_ON
(
rxb
->
real_dma_addr
&
~
DMA_BIT_MASK
(
36
));
/* and also 256 byte aligned! */
rxb
->
aligned_dma_addr
=
ALIGN
(
rxb
->
real_dma_addr
,
256
);
skb_reserve
(
rxb
->
skb
,
rxb
->
aligned_dma_addr
-
rxb
->
real_dma_addr
);
list_add_tail
(
&
rxb
->
list
,
&
rxq
->
rx_free
);
rxq
->
free_count
++
;
}
...
...
@@ -300,8 +308,8 @@ void iwl_rx_queue_free(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
for
(
i
=
0
;
i
<
RX_QUEUE_SIZE
+
RX_FREE_BUFFERS
;
i
++
)
{
if
(
rxq
->
pool
[
i
].
skb
!=
NULL
)
{
pci_unmap_single
(
priv
->
pci_dev
,
rxq
->
pool
[
i
].
dma_addr
,
priv
->
hw_params
.
rx_buf_size
,
rxq
->
pool
[
i
].
real_
dma_addr
,
priv
->
hw_params
.
rx_buf_size
+
256
,
PCI_DMA_FROMDEVICE
);
dev_kfree_skb
(
rxq
->
pool
[
i
].
skb
);
}
...
...
@@ -354,8 +362,8 @@ void iwl_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
* to an SKB, so we need to unmap and free potential storage */
if
(
rxq
->
pool
[
i
].
skb
!=
NULL
)
{
pci_unmap_single
(
priv
->
pci_dev
,
rxq
->
pool
[
i
].
dma_addr
,
priv
->
hw_params
.
rx_buf_size
,
rxq
->
pool
[
i
].
real_
dma_addr
,
priv
->
hw_params
.
rx_buf_size
+
256
,
PCI_DMA_FROMDEVICE
);
priv
->
alloc_rxb_skb
--
;
dev_kfree_skb
(
rxq
->
pool
[
i
].
skb
);
...
...
drivers/net/wireless/iwlwifi/iwl3945-base.c
View file @
f7f65d1e
...
...
@@ -6012,7 +6012,6 @@ static void iwl3945_bg_alive_start(struct work_struct *data)
mutex_lock
(
&
priv
->
mutex
);
iwl3945_alive_start
(
priv
);
mutex_unlock
(
&
priv
->
mutex
);
ieee80211_notify_mac
(
priv
->
hw
,
IEEE80211_NOTIFY_RE_ASSOC
);
}
static
void
iwl3945_bg_rf_kill
(
struct
work_struct
*
work
)
...
...
drivers/net/wireless/libertas_tf/if_usb.c
View file @
f7f65d1e
...
...
@@ -331,7 +331,7 @@ static int __if_usb_submit_rx_urb(struct if_usb_card *cardp,
/* Fill the receive configuration URB and initialise the Rx call back */
usb_fill_bulk_urb
(
cardp
->
rx_urb
,
cardp
->
udev
,
usb_rcvbulkpipe
(
cardp
->
udev
,
cardp
->
ep_in
),
(
void
*
)
(
skb
->
tail
),
skb_tail_pointer
(
skb
),
MRVDRV_ETH_RX_PACKET_BUFFER_SIZE
,
callbackfn
,
cardp
);
cardp
->
rx_urb
->
transfer_flags
|=
URB_ZERO_PACKET
;
...
...
include/net/mac80211.h
View file @
f7f65d1e
...
...
@@ -73,14 +73,6 @@
* not do so then mac80211 may add this under certain circumstances.
*/
/**
* enum ieee80211_notification_type - Low level driver notification
* @IEEE80211_NOTIFY_RE_ASSOC: start the re-association sequence
*/
enum
ieee80211_notification_types
{
IEEE80211_NOTIFY_RE_ASSOC
,
};
/**
* struct ieee80211_ht_bss_info - describing BSS's HT characteristics
*
...
...
@@ -1797,18 +1789,6 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_hw *hw, u8 *ra, u8 tid);
void
ieee80211_stop_tx_ba_cb_irqsafe
(
struct
ieee80211_hw
*
hw
,
const
u8
*
ra
,
u16
tid
);
/**
* ieee80211_notify_mac - low level driver notification
* @hw: pointer as obtained from ieee80211_alloc_hw().
* @notif_type: enum ieee80211_notification_types
*
* This function must be called by low level driver to inform mac80211 of
* low level driver status change or force mac80211 to re-assoc for low
* level driver internal error that require re-assoc.
*/
void
ieee80211_notify_mac
(
struct
ieee80211_hw
*
hw
,
enum
ieee80211_notification_types
notif_type
);
/**
* ieee80211_find_sta - find a station
*
...
...
net/mac80211/mlme.c
View file @
f7f65d1e
...
...
@@ -2560,25 +2560,3 @@ void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local)
ieee80211_restart_sta_timer
(
sdata
);
rcu_read_unlock
();
}
/* driver notification call */
void
ieee80211_notify_mac
(
struct
ieee80211_hw
*
hw
,
enum
ieee80211_notification_types
notif_type
)
{
struct
ieee80211_local
*
local
=
hw_to_local
(
hw
);
struct
ieee80211_sub_if_data
*
sdata
;
switch
(
notif_type
)
{
case
IEEE80211_NOTIFY_RE_ASSOC
:
rtnl_lock
();
list_for_each_entry
(
sdata
,
&
local
->
interfaces
,
list
)
{
if
(
sdata
->
vif
.
type
!=
NL80211_IFTYPE_STATION
)
continue
;
ieee80211_sta_req_auth
(
sdata
,
&
sdata
->
u
.
sta
);
}
rtnl_unlock
();
break
;
}
}
EXPORT_SYMBOL
(
ieee80211_notify_mac
);
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