Lines Matching refs:adapter

36 int mwifiex_handle_rx_packet(struct mwifiex_adapter *adapter,  in mwifiex_handle_rx_packet()  argument
40 mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); in mwifiex_handle_rx_packet()
47 priv = mwifiex_get_priv_by_id(adapter, local_rx_pd->bss_num & in mwifiex_handle_rx_packet()
50 priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); in mwifiex_handle_rx_packet()
53 dev_err(adapter->dev, "data: priv not found. Drop RX packet\n"); in mwifiex_handle_rx_packet()
84 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_process_tx() local
88 hroom = (adapter->iface_type == MWIFIEX_USB) ? 0 : INTF_HEADER_LEN; in mwifiex_process_tx()
95 if ((adapter->data_sent || adapter->tx_lock_flag) && head_ptr) { in mwifiex_process_tx()
96 skb_queue_tail(&adapter->tx_data_q, skb); in mwifiex_process_tx()
97 atomic_inc(&adapter->tx_queued); in mwifiex_process_tx()
104 if (adapter->iface_type == MWIFIEX_USB) { in mwifiex_process_tx()
105 adapter->data_sent = true; in mwifiex_process_tx()
106 ret = adapter->if_ops.host_to_card(adapter, in mwifiex_process_tx()
110 ret = adapter->if_ops.host_to_card(adapter, in mwifiex_process_tx()
118 dev_dbg(adapter->dev, "data: -ENOSR is returned\n"); in mwifiex_process_tx()
122 (adapter->pps_uapsd_mode) && (adapter->tx_lock_flag)) { in mwifiex_process_tx()
123 priv->adapter->tx_lock_flag = false; in mwifiex_process_tx()
127 dev_dbg(adapter->dev, "data: -EBUSY is returned\n"); in mwifiex_process_tx()
130 if (adapter->iface_type != MWIFIEX_PCIE) in mwifiex_process_tx()
131 adapter->data_sent = false; in mwifiex_process_tx()
132 dev_err(adapter->dev, "mwifiex_write_data_async failed: 0x%X\n", in mwifiex_process_tx()
134 adapter->dbg.num_tx_host_to_card_failure++; in mwifiex_process_tx()
135 mwifiex_write_data_complete(adapter, skb, 0, ret); in mwifiex_process_tx()
138 if (adapter->iface_type != MWIFIEX_PCIE) in mwifiex_process_tx()
139 adapter->data_sent = false; in mwifiex_process_tx()
142 mwifiex_write_data_complete(adapter, skb, 0, ret); in mwifiex_process_tx()
151 static int mwifiex_host_to_card(struct mwifiex_adapter *adapter, in mwifiex_host_to_card() argument
162 priv = mwifiex_get_priv_by_id(adapter, tx_info->bss_num, in mwifiex_host_to_card()
165 dev_err(adapter->dev, "data: priv not found. Drop TX packet\n"); in mwifiex_host_to_card()
166 adapter->dbg.num_tx_host_to_card_failure++; in mwifiex_host_to_card()
167 mwifiex_write_data_complete(adapter, skb, 0, 0); in mwifiex_host_to_card()
171 if (adapter->iface_type == MWIFIEX_USB) in mwifiex_host_to_card()
178 if (adapter->iface_type == MWIFIEX_USB) { in mwifiex_host_to_card()
179 adapter->data_sent = true; in mwifiex_host_to_card()
180 ret = adapter->if_ops.host_to_card(adapter, in mwifiex_host_to_card()
184 ret = adapter->if_ops.host_to_card(adapter, in mwifiex_host_to_card()
190 dev_err(adapter->dev, "data: -ENOSR is returned\n"); in mwifiex_host_to_card()
194 (adapter->pps_uapsd_mode) && in mwifiex_host_to_card()
195 (adapter->tx_lock_flag)) { in mwifiex_host_to_card()
196 priv->adapter->tx_lock_flag = false; in mwifiex_host_to_card()
200 skb_queue_head(&adapter->tx_data_q, skb); in mwifiex_host_to_card()
202 atomic_add(tx_info->aggr_num, &adapter->tx_queued); in mwifiex_host_to_card()
204 atomic_inc(&adapter->tx_queued); in mwifiex_host_to_card()
205 dev_dbg(adapter->dev, "data: -EBUSY is returned\n"); in mwifiex_host_to_card()
208 if (adapter->iface_type != MWIFIEX_PCIE) in mwifiex_host_to_card()
209 adapter->data_sent = false; in mwifiex_host_to_card()
210 dev_err(adapter->dev, "mwifiex_write_data_async failed: 0x%X\n", in mwifiex_host_to_card()
212 adapter->dbg.num_tx_host_to_card_failure++; in mwifiex_host_to_card()
213 mwifiex_write_data_complete(adapter, skb, 0, ret); in mwifiex_host_to_card()
216 if (adapter->iface_type != MWIFIEX_PCIE) in mwifiex_host_to_card()
217 adapter->data_sent = false; in mwifiex_host_to_card()
220 mwifiex_write_data_complete(adapter, skb, 0, ret); in mwifiex_host_to_card()
229 mwifiex_dequeue_tx_queue(struct mwifiex_adapter *adapter) in mwifiex_dequeue_tx_queue() argument
235 skb = skb_dequeue(&adapter->tx_data_q); in mwifiex_dequeue_tx_queue()
241 atomic_sub(tx_info->aggr_num, &adapter->tx_queued); in mwifiex_dequeue_tx_queue()
243 atomic_dec(&adapter->tx_queued); in mwifiex_dequeue_tx_queue()
245 if (!skb_queue_empty(&adapter->tx_data_q)) in mwifiex_dequeue_tx_queue()
246 skb_next = skb_peek(&adapter->tx_data_q); in mwifiex_dequeue_tx_queue()
251 if (!mwifiex_wmm_lists_empty(adapter)) in mwifiex_dequeue_tx_queue()
254 return mwifiex_host_to_card(adapter, skb, &tx_param); in mwifiex_dequeue_tx_queue()
258 mwifiex_process_tx_queue(struct mwifiex_adapter *adapter) in mwifiex_process_tx_queue() argument
261 if (adapter->data_sent || adapter->tx_lock_flag) in mwifiex_process_tx_queue()
263 if (mwifiex_dequeue_tx_queue(adapter)) in mwifiex_process_tx_queue()
265 } while (!skb_queue_empty(&adapter->tx_data_q)); in mwifiex_process_tx_queue()
275 int mwifiex_write_data_complete(struct mwifiex_adapter *adapter, in mwifiex_write_data_complete() argument
287 priv = mwifiex_get_priv_by_id(adapter, tx_info->bss_num, in mwifiex_write_data_complete()
292 if (adapter->iface_type == MWIFIEX_USB) in mwifiex_write_data_complete()
293 adapter->data_sent = false; in mwifiex_write_data_complete()
306 atomic_dec_return(&adapter->pending_bridged_pkts); in mwifiex_write_data_complete()
315 atomic_dec(&adapter->tx_pending); in mwifiex_write_data_complete()
322 dev_dbg(adapter->dev, "wake queue: %d\n", index); in mwifiex_write_data_complete()
335 struct tx_status_event *tx_status = (void *)priv->adapter->event_body; in mwifiex_parse_tx_status_event()