summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mwifiex/main.h
diff options
context:
space:
mode:
authorAvinash Patil <patila@marvell.com>2012-08-03 18:06:08 -0700
committerJohn W. Linville <linville@tuxdriver.com>2012-08-06 15:12:54 -0400
commit838e4f44929782a2163c7bc95a7cd2da5d8b47f9 (patch)
tree01f73f71e516e23bdc01fef09cc09f2049ada950 /drivers/net/wireless/mwifiex/main.h
parent017a92a15a119be3b751456cb04791282721c661 (diff)
downloadlwn-838e4f44929782a2163c7bc95a7cd2da5d8b47f9.tar.gz
lwn-838e4f44929782a2163c7bc95a7cd2da5d8b47f9.zip
mwifiex: improve uAP RX handling
1. Separate file for uAP RX handling. 2. If received packet is broadcast/multicast, send it to kernel as well as requeue it back to uAP TX queue. 3. If received packet is for associated STA (intra-BSS), requeue it back to uAP TX queue. 4. In all other cases (packets for AP or inter-BSS packets), pass packet to kernel to handle it accordingly. Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Kiran Divekar <dkiran@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/main.h')
-rw-r--r--drivers/net/wireless/mwifiex/main.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
index 9a0174d06460..014fe9ab221f 100644
--- a/drivers/net/wireless/mwifiex/main.h
+++ b/drivers/net/wireless/mwifiex/main.h
@@ -710,6 +710,7 @@ struct mwifiex_adapter {
u8 scan_delay_cnt;
u8 empty_tx_q_cnt;
atomic_t is_tx_received;
+ atomic_t pending_bridged_pkts;
};
int mwifiex_init_lock_list(struct mwifiex_adapter *adapter);
@@ -800,6 +801,10 @@ int mwifiex_process_sta_cmdresp(struct mwifiex_private *, u16 cmdresp_no,
struct host_cmd_ds_command *resp);
int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *,
struct sk_buff *skb);
+int mwifiex_process_uap_rx_packet(struct mwifiex_adapter *adapter,
+ struct sk_buff *skb);
+int mwifiex_handle_uap_rx_forward(struct mwifiex_private *priv,
+ struct sk_buff *skb);
int mwifiex_process_sta_event(struct mwifiex_private *);
int mwifiex_process_uap_event(struct mwifiex_private *);
struct mwifiex_sta_node *