diff options
Diffstat (limited to 'drivers/net/wireless/mwifiex/txrx.c')
-rw-r--r-- | drivers/net/wireless/mwifiex/txrx.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/txrx.c b/drivers/net/wireless/mwifiex/txrx.c index cecb27283196..2af263992e83 100644 --- a/drivers/net/wireless/mwifiex/txrx.c +++ b/drivers/net/wireless/mwifiex/txrx.c | |||
@@ -51,6 +51,9 @@ int mwifiex_handle_rx_packet(struct mwifiex_adapter *adapter, | |||
51 | rx_info->bss_num = priv->bss_num; | 51 | rx_info->bss_num = priv->bss_num; |
52 | rx_info->bss_type = priv->bss_type; | 52 | rx_info->bss_type = priv->bss_type; |
53 | 53 | ||
54 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) | ||
55 | return mwifiex_process_uap_rx_packet(adapter, skb); | ||
56 | |||
54 | return mwifiex_process_sta_rx_packet(adapter, skb); | 57 | return mwifiex_process_sta_rx_packet(adapter, skb); |
55 | } | 58 | } |
56 | EXPORT_SYMBOL_GPL(mwifiex_handle_rx_packet); | 59 | EXPORT_SYMBOL_GPL(mwifiex_handle_rx_packet); |
@@ -72,7 +75,11 @@ int mwifiex_process_tx(struct mwifiex_private *priv, struct sk_buff *skb, | |||
72 | u8 *head_ptr; | 75 | u8 *head_ptr; |
73 | struct txpd *local_tx_pd = NULL; | 76 | struct txpd *local_tx_pd = NULL; |
74 | 77 | ||
75 | head_ptr = mwifiex_process_sta_txpd(priv, skb); | 78 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) |
79 | head_ptr = mwifiex_process_uap_txpd(priv, skb); | ||
80 | else | ||
81 | head_ptr = mwifiex_process_sta_txpd(priv, skb); | ||
82 | |||
76 | if (head_ptr) { | 83 | if (head_ptr) { |
77 | if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA) | 84 | if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA) |
78 | local_tx_pd = | 85 | local_tx_pd = |
@@ -157,6 +164,8 @@ int mwifiex_write_data_complete(struct mwifiex_adapter *adapter, | |||
157 | priv->stats.tx_errors++; | 164 | priv->stats.tx_errors++; |
158 | } | 165 | } |
159 | 166 | ||
167 | if (tx_info->flags & MWIFIEX_BUF_FLAG_BRIDGED_PKT) | ||
168 | atomic_dec_return(&adapter->pending_bridged_pkts); | ||
160 | if (atomic_dec_return(&adapter->tx_pending) >= LOW_TX_PENDING) | 169 | if (atomic_dec_return(&adapter->tx_pending) >= LOW_TX_PENDING) |
161 | goto done; | 170 | goto done; |
162 | 171 | ||