Lines Matching refs:packet

359 static void ath6kl_htc_tx_prep_pkt(struct htc_packet *packet, u8 flags,  in ath6kl_htc_tx_prep_pkt()  argument
364 packet->buf -= HTC_HDR_LENGTH; in ath6kl_htc_tx_prep_pkt()
365 hdr = (struct htc_frame_hdr *)packet->buf; in ath6kl_htc_tx_prep_pkt()
368 put_unaligned((u16)packet->act_len, &hdr->payld_len); in ath6kl_htc_tx_prep_pkt()
370 hdr->eid = packet->endpoint; in ath6kl_htc_tx_prep_pkt()
386 struct htc_packet *packet = NULL; in htc_get_control_buf() local
398 packet = list_first_entry(buf_list, struct htc_packet, list); in htc_get_control_buf()
399 list_del(&packet->list); in htc_get_control_buf()
403 packet->buf = packet->buf_start + HTC_HDR_LENGTH; in htc_get_control_buf()
405 return packet; in htc_get_control_buf()
410 struct htc_packet *packet) in htc_tx_comp_update() argument
412 packet->completion = NULL; in htc_tx_comp_update()
413 packet->buf += HTC_HDR_LENGTH; in htc_tx_comp_update()
415 if (!packet->status) in htc_tx_comp_update()
419 packet->status, packet->endpoint, packet->act_len, in htc_tx_comp_update()
420 packet->info.tx.cred_used); in htc_tx_comp_update()
425 packet->info.tx.cred_used; in htc_tx_comp_update()
452 struct htc_packet *packet) in htc_tx_comp_handler() argument
454 struct htc_endpoint *endpoint = &target->endpoint[packet->endpoint]; in htc_tx_comp_handler()
458 packet->info.tx.seqno); in htc_tx_comp_handler()
460 htc_tx_comp_update(target, endpoint, packet); in htc_tx_comp_handler()
462 list_add_tail(&packet->list, &container); in htc_tx_comp_handler()
471 struct htc_packet *packet; in htc_async_tx_scat_complete() local
484 packet = scat_req->scat_list[0].packet; in htc_async_tx_scat_complete()
485 endpoint = &target->endpoint[packet->endpoint]; in htc_async_tx_scat_complete()
489 packet = scat_req->scat_list[i].packet; in htc_async_tx_scat_complete()
490 if (!packet) { in htc_async_tx_scat_complete()
495 packet->status = scat_req->status; in htc_async_tx_scat_complete()
496 htc_tx_comp_update(target, endpoint, packet); in htc_async_tx_scat_complete()
497 list_add_tail(&packet->list, &tx_compq); in htc_async_tx_scat_complete()
508 struct htc_packet *packet) in ath6kl_htc_tx_issue() argument
514 if (!packet->completion) in ath6kl_htc_tx_issue()
517 send_len = packet->act_len + HTC_HDR_LENGTH; in ath6kl_htc_tx_issue()
523 send_len, packet->info.tx.seqno, padded_len, in ath6kl_htc_tx_issue()
530 packet->buf, padded_len, in ath6kl_htc_tx_issue()
533 packet->status = status; in ath6kl_htc_tx_issue()
534 packet->buf += HTC_HDR_LENGTH; in ath6kl_htc_tx_issue()
538 packet->buf, padded_len, in ath6kl_htc_tx_issue()
539 HIF_WR_ASYNC_BLOCK_INC, packet); in ath6kl_htc_tx_issue()
541 trace_ath6kl_htc_tx(status, packet->endpoint, packet->buf, send_len); in ath6kl_htc_tx_issue()
605 struct htc_packet *packet; in ath6kl_htc_tx_pkts_get() local
613 packet = list_first_entry(&endpoint->txq, struct htc_packet, in ath6kl_htc_tx_pkts_get()
618 packet, get_queue_depth(&endpoint->txq)); in ath6kl_htc_tx_pkts_get()
621 packet->act_len + HTC_HDR_LENGTH); in ath6kl_htc_tx_pkts_get()
624 packet->endpoint, len, &req_cred)) in ath6kl_htc_tx_pkts_get()
628 packet = list_first_entry(&endpoint->txq, struct htc_packet, in ath6kl_htc_tx_pkts_get()
630 list_move_tail(&packet->list, queue); in ath6kl_htc_tx_pkts_get()
633 packet->info.tx.cred_used = req_cred; in ath6kl_htc_tx_pkts_get()
636 packet->completion = htc_tx_comp_handler; in ath6kl_htc_tx_pkts_get()
637 packet->context = target; in ath6kl_htc_tx_pkts_get()
641 packet->info.tx.flags = flags; in ath6kl_htc_tx_pkts_get()
642 packet->info.tx.seqno = endpoint->seqno; in ath6kl_htc_tx_pkts_get()
685 struct htc_packet *packet; in ath6kl_htc_tx_setup_scat_list() local
693 scat_req->scat_list[i].packet = NULL; in ath6kl_htc_tx_setup_scat_list()
698 packet = list_first_entry(queue, struct htc_packet, list); in ath6kl_htc_tx_setup_scat_list()
700 packet->act_len + HTC_HDR_LENGTH); in ath6kl_htc_tx_setup_scat_list()
711 list_del(&packet->list); in ath6kl_htc_tx_setup_scat_list()
713 scat_req->scat_list[i].packet = packet; in ath6kl_htc_tx_setup_scat_list()
715 flags = packet->info.tx.flags | HTC_FLAGS_SEND_BUNDLE; in ath6kl_htc_tx_setup_scat_list()
716 ath6kl_htc_tx_prep_pkt(packet, flags, in ath6kl_htc_tx_setup_scat_list()
717 cred_pad, packet->info.tx.seqno); in ath6kl_htc_tx_setup_scat_list()
719 ath6kl_htc_tx_buf_align(&packet->buf, in ath6kl_htc_tx_setup_scat_list()
720 packet->act_len + HTC_HDR_LENGTH); in ath6kl_htc_tx_setup_scat_list()
721 scat_req->scat_list[i].buf = packet->buf; in ath6kl_htc_tx_setup_scat_list()
728 i, packet, packet->info.tx.seqno, len, rem_scat); in ath6kl_htc_tx_setup_scat_list()
734 packet = scat_req->scat_list[i].packet; in ath6kl_htc_tx_setup_scat_list()
735 if (packet) { in ath6kl_htc_tx_setup_scat_list()
736 packet->buf += HTC_HDR_LENGTH; in ath6kl_htc_tx_setup_scat_list()
737 list_add(&packet->list, queue); in ath6kl_htc_tx_setup_scat_list()
762 struct htc_packet *packet; in ath6kl_htc_tx_bundle() local
839 packet = scat_req->scat_list[i].packet; in ath6kl_htc_tx_bundle()
840 trace_ath6kl_htc_tx(packet->status, packet->endpoint, in ath6kl_htc_tx_bundle()
841 packet->buf, packet->act_len); in ath6kl_htc_tx_bundle()
862 struct htc_packet *packet; in ath6kl_htc_tx_from_queue() local
921 packet = list_first_entry(&txq, struct htc_packet, in ath6kl_htc_tx_from_queue()
923 list_del(&packet->list); in ath6kl_htc_tx_from_queue()
925 ath6kl_htc_tx_prep_pkt(packet, packet->info.tx.flags, in ath6kl_htc_tx_from_queue()
926 0, packet->info.tx.seqno); in ath6kl_htc_tx_from_queue()
927 status = ath6kl_htc_tx_issue(target, packet); in ath6kl_htc_tx_from_queue()
930 packet->status = status; in ath6kl_htc_tx_from_queue()
931 packet->completion(packet->context, packet); in ath6kl_htc_tx_from_queue()
1124 struct htc_packet *packet) in ath6kl_htc_mbox_tx() argument
1131 packet->endpoint, packet->buf, packet->act_len); in ath6kl_htc_mbox_tx()
1133 if (packet->endpoint >= ENDPOINT_MAX) { in ath6kl_htc_mbox_tx()
1138 endpoint = &target->endpoint[packet->endpoint]; in ath6kl_htc_mbox_tx()
1140 if (!ath6kl_htc_tx_try(target, endpoint, packet)) { in ath6kl_htc_mbox_tx()
1141 packet->status = (target->htc_flags & HTC_OP_STATE_STOPPING) ? in ath6kl_htc_mbox_tx()
1144 list_add(&packet->list, &queue); in ath6kl_htc_mbox_tx()
1155 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_mbox_flush_txep() local
1169 list_for_each_entry_safe(packet, tmp_pkt, &endpoint->txq, list) { in ath6kl_htc_mbox_flush_txep()
1171 (tag == packet->info.tx.tag)) in ath6kl_htc_mbox_flush_txep()
1172 list_move_tail(&packet->list, &discard_q); in ath6kl_htc_mbox_flush_txep()
1177 list_for_each_entry_safe(packet, tmp_pkt, &discard_q, list) { in ath6kl_htc_mbox_flush_txep()
1178 packet->status = -ECANCELED; in ath6kl_htc_mbox_flush_txep()
1179 list_del(&packet->list); in ath6kl_htc_mbox_flush_txep()
1182 packet, packet->act_len, in ath6kl_htc_mbox_flush_txep()
1183 packet->endpoint, packet->info.tx.tag); in ath6kl_htc_mbox_flush_txep()
1186 list_add_tail(&packet->list, &container); in ath6kl_htc_mbox_flush_txep()
1271 static int htc_add_rxbuf(struct htc_target *target, struct htc_packet *packet) in htc_add_rxbuf() argument
1276 list_add_tail(&packet->list, &queue); in htc_add_rxbuf()
1281 struct htc_packet *packet, in htc_reclaim_rxbuf() argument
1284 if (packet->info.rx.rx_flags & HTC_RX_PKT_NO_RECYCLE) { in htc_reclaim_rxbuf()
1285 htc_rxpkt_reset(packet); in htc_reclaim_rxbuf()
1286 packet->status = -ECANCELED; in htc_reclaim_rxbuf()
1287 ep->ep_cb.rx(ep->target, packet); in htc_reclaim_rxbuf()
1289 htc_rxpkt_reset(packet); in htc_reclaim_rxbuf()
1290 htc_add_rxbuf((void *)(target), packet); in htc_reclaim_rxbuf()
1295 struct htc_packet *packet) in reclaim_rx_ctrl_buf() argument
1298 list_add_tail(&packet->list, &target->free_ctrl_rxbuf); in reclaim_rx_ctrl_buf()
1303 struct htc_packet *packet, in ath6kl_htc_rx_packet() argument
1312 if (padded_len > packet->buf_len) { in ath6kl_htc_rx_packet()
1314 padded_len, rx_len, packet->buf_len); in ath6kl_htc_rx_packet()
1320 packet, packet->info.rx.exp_hdr, in ath6kl_htc_rx_packet()
1325 packet->buf, padded_len, in ath6kl_htc_rx_packet()
1328 packet->status = status; in ath6kl_htc_rx_packet()
1340 struct htc_packet *packet) in ath6kl_htc_rx_set_indicate() argument
1344 if (htc_hdr->eid == packet->endpoint) { in ath6kl_htc_rx_set_indicate()
1346 packet->info.rx.indicat_flags |= in ath6kl_htc_rx_set_indicate()
1372 struct htc_packet *packet; in ath6kl_htc_rx_setup() local
1408 packet = ep_cb.rx_allocthresh(ep->target, ep->eid, in ath6kl_htc_rx_setup()
1422 packet = NULL; in ath6kl_htc_rx_setup()
1424 packet = list_first_entry(&ep->rx_bufq, in ath6kl_htc_rx_setup()
1426 list_del(&packet->list); in ath6kl_htc_rx_setup()
1430 if (!packet) { in ath6kl_htc_rx_setup()
1437 packet->info.rx.rx_flags = 0; in ath6kl_htc_rx_setup()
1438 packet->info.rx.indicat_flags = 0; in ath6kl_htc_rx_setup()
1439 packet->status = 0; in ath6kl_htc_rx_setup()
1447 packet->info.rx.rx_flags |= HTC_RX_PKT_NO_RECYCLE; in ath6kl_htc_rx_setup()
1450 list_add_tail(&packet->list, queue); in ath6kl_htc_rx_setup()
1458 packet->info.rx.rx_flags |= HTC_RX_PKT_REFRESH_HDR; in ath6kl_htc_rx_setup()
1459 packet->info.rx.exp_hdr = 0xFFFFFFFF; in ath6kl_htc_rx_setup()
1462 packet->info.rx.exp_hdr = *lk_ahds; in ath6kl_htc_rx_setup()
1464 packet->act_len = le16_to_cpu(htc_hdr->payld_len) + in ath6kl_htc_rx_setup()
1477 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_rx_alloc() local
1559 list_for_each_entry_safe(packet, tmp_pkt, queue, list) { in ath6kl_htc_rx_alloc()
1560 list_del(&packet->list); in ath6kl_htc_rx_alloc()
1561 htc_reclaim_rxbuf(target, packet, in ath6kl_htc_rx_alloc()
1562 &target->endpoint[packet->endpoint]); in ath6kl_htc_rx_alloc()
1806 struct htc_packet *packet, in ath6kl_htc_rx_process_hdr() argument
1812 struct htc_frame_hdr *htc_hdr = (struct htc_frame_hdr *)packet->buf; in ath6kl_htc_rx_process_hdr()
1823 memcpy((u8 *)&lk_ahd, packet->buf, sizeof(lk_ahd)); in ath6kl_htc_rx_process_hdr()
1825 if (packet->info.rx.rx_flags & HTC_RX_PKT_REFRESH_HDR) { in ath6kl_htc_rx_process_hdr()
1831 packet->info.rx.exp_hdr = lk_ahd; in ath6kl_htc_rx_process_hdr()
1832 packet->act_len = payload_len + HTC_HDR_LENGTH; in ath6kl_htc_rx_process_hdr()
1835 if (packet->act_len > packet->buf_len) { in ath6kl_htc_rx_process_hdr()
1842 packet->act_len = min(packet->act_len, packet->buf_len); in ath6kl_htc_rx_process_hdr()
1847 if (packet->endpoint != htc_hdr->eid) { in ath6kl_htc_rx_process_hdr()
1849 htc_hdr->eid, packet->endpoint); in ath6kl_htc_rx_process_hdr()
1855 if (lk_ahd != packet->info.rx.exp_hdr) { in ath6kl_htc_rx_process_hdr()
1857 __func__, packet, packet->info.rx.rx_flags); in ath6kl_htc_rx_process_hdr()
1859 "", &packet->info.rx.exp_hdr, 4); in ath6kl_htc_rx_process_hdr()
1875 if (packet->info.rx.rx_flags & HTC_RX_PKT_IGNORE_LOOKAHEAD) { in ath6kl_htc_rx_process_hdr()
1880 status = htc_proc_trailer(target, packet->buf + HTC_HDR_LENGTH in ath6kl_htc_rx_process_hdr()
1883 n_lkahds, packet->endpoint); in ath6kl_htc_rx_process_hdr()
1888 packet->act_len -= htc_hdr->ctrl[0]; in ath6kl_htc_rx_process_hdr()
1891 packet->buf += HTC_HDR_LENGTH; in ath6kl_htc_rx_process_hdr()
1892 packet->act_len -= HTC_HDR_LENGTH; in ath6kl_htc_rx_process_hdr()
1897 "", packet->buf, packet->act_len); in ath6kl_htc_rx_process_hdr()
1903 struct htc_packet *packet) in ath6kl_htc_rx_complete() argument
1907 endpoint->eid, packet); in ath6kl_htc_rx_complete()
1909 endpoint->ep_cb.rx(endpoint->target, packet); in ath6kl_htc_rx_complete()
1918 struct htc_packet *packet; in ath6kl_htc_rx_bundle() local
1955 packet = list_first_entry(rxq, struct htc_packet, list); in ath6kl_htc_rx_bundle()
1956 list_del(&packet->list); in ath6kl_htc_rx_bundle()
1959 packet->act_len); in ath6kl_htc_rx_bundle()
1962 list_add(&packet->list, rxq); in ath6kl_htc_rx_bundle()
1974 packet->info.rx.rx_flags |= in ath6kl_htc_rx_bundle()
1978 scat_req->scat_list[i].buf = packet->buf; in ath6kl_htc_rx_bundle()
1981 packet->info.rx.rx_flags |= HTC_RX_PKT_PART_OF_BUNDLE; in ath6kl_htc_rx_bundle()
1983 list_add_tail(&packet->list, sync_compq); in ath6kl_htc_rx_bundle()
2010 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_rx_process_packets() local
2014 list_for_each_entry_safe(packet, tmp_pkt, comp_pktq, list) { in ath6kl_htc_rx_process_packets()
2015 ep = &target->endpoint[packet->endpoint]; in ath6kl_htc_rx_process_packets()
2017 trace_ath6kl_htc_rx(packet->status, packet->endpoint, in ath6kl_htc_rx_process_packets()
2018 packet->buf, packet->act_len); in ath6kl_htc_rx_process_packets()
2021 status = ath6kl_htc_rx_process_hdr(target, packet, lk_ahds, in ath6kl_htc_rx_process_packets()
2026 list_del(&packet->list); in ath6kl_htc_rx_process_packets()
2035 ep, packet); in ath6kl_htc_rx_process_packets()
2041 packet->info.rx.indicat_flags |= in ath6kl_htc_rx_process_packets()
2046 if (packet->info.rx.rx_flags & HTC_RX_PKT_PART_OF_BUNDLE) in ath6kl_htc_rx_process_packets()
2049 ath6kl_htc_rx_complete(ep, packet); in ath6kl_htc_rx_process_packets()
2063 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_rx_fetch() local
2091 packet = list_first_entry(rx_pktq, struct htc_packet, in ath6kl_htc_rx_fetch()
2095 packet->completion = NULL; in ath6kl_htc_rx_fetch()
2103 packet->info.rx.rx_flags |= in ath6kl_htc_rx_fetch()
2107 status = ath6kl_htc_rx_packet(target, packet, in ath6kl_htc_rx_fetch()
2108 packet->act_len); in ath6kl_htc_rx_fetch()
2110 list_move_tail(&packet->list, &tmp_rxq); in ath6kl_htc_rx_fetch()
2128 list_for_each_entry_safe(packet, tmp_pkt, rx_pktq, list) { in ath6kl_htc_rx_fetch()
2129 list_del(&packet->list); in ath6kl_htc_rx_fetch()
2130 htc_reclaim_rxbuf(target, packet, in ath6kl_htc_rx_fetch()
2131 &target->endpoint[packet->endpoint]); in ath6kl_htc_rx_fetch()
2134 list_for_each_entry_safe(packet, tmp_pkt, &tmp_rxq, list) { in ath6kl_htc_rx_fetch()
2135 list_del(&packet->list); in ath6kl_htc_rx_fetch()
2136 htc_reclaim_rxbuf(target, packet, in ath6kl_htc_rx_fetch()
2137 &target->endpoint[packet->endpoint]); in ath6kl_htc_rx_fetch()
2263 struct htc_packet *packet = NULL; in htc_wait_for_ctrl_msg() local
2279 packet = htc_get_control_buf(target, false); in htc_wait_for_ctrl_msg()
2281 if (!packet) in htc_wait_for_ctrl_msg()
2284 packet->info.rx.rx_flags = 0; in htc_wait_for_ctrl_msg()
2285 packet->info.rx.exp_hdr = look_ahead; in htc_wait_for_ctrl_msg()
2286 packet->act_len = le16_to_cpu(htc_hdr->payld_len) + HTC_HDR_LENGTH; in htc_wait_for_ctrl_msg()
2288 if (packet->act_len > packet->buf_len) in htc_wait_for_ctrl_msg()
2292 packet->completion = NULL; in htc_wait_for_ctrl_msg()
2295 if (ath6kl_htc_rx_packet(target, packet, packet->act_len)) in htc_wait_for_ctrl_msg()
2298 trace_ath6kl_htc_rx(packet->status, packet->endpoint, in htc_wait_for_ctrl_msg()
2299 packet->buf, packet->act_len); in htc_wait_for_ctrl_msg()
2302 packet->status = ath6kl_htc_rx_process_hdr(target, packet, NULL, NULL); in htc_wait_for_ctrl_msg()
2304 if (packet->status) { in htc_wait_for_ctrl_msg()
2306 packet->status); in htc_wait_for_ctrl_msg()
2310 return packet; in htc_wait_for_ctrl_msg()
2313 if (packet != NULL) { in htc_wait_for_ctrl_msg()
2314 htc_rxpkt_reset(packet); in htc_wait_for_ctrl_msg()
2315 reclaim_rx_ctrl_buf(target, packet); in htc_wait_for_ctrl_msg()
2346 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_mbox_add_rxbuf_multiple() local
2349 list_for_each_entry_safe(packet, tmp_pkt, pkt_queue, list) { in ath6kl_htc_mbox_add_rxbuf_multiple()
2350 packet->status = -ECANCELED; in ath6kl_htc_mbox_add_rxbuf_multiple()
2351 list_del(&packet->list); in ath6kl_htc_mbox_add_rxbuf_multiple()
2352 ath6kl_htc_rx_complete(endpoint, packet); in ath6kl_htc_mbox_add_rxbuf_multiple()
2386 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_mbox_flush_rx_buf() local
2396 list_for_each_entry_safe(packet, tmp_pkt, in ath6kl_htc_mbox_flush_rx_buf()
2398 list_del(&packet->list); in ath6kl_htc_mbox_flush_rx_buf()
2402 packet, packet->buf_len, in ath6kl_htc_mbox_flush_rx_buf()
2403 packet->endpoint); in ath6kl_htc_mbox_flush_rx_buf()
2413 if (packet->endpoint == ENDPOINT_0) { in ath6kl_htc_mbox_flush_rx_buf()
2414 kfree(packet->buf_start); in ath6kl_htc_mbox_flush_rx_buf()
2415 kfree(packet); in ath6kl_htc_mbox_flush_rx_buf()
2417 dev_kfree_skb(packet->pkt_cntxt); in ath6kl_htc_mbox_flush_rx_buf()
2660 struct htc_packet *packet = NULL; in ath6kl_htc_mbox_wait_target() local
2667 packet = htc_wait_for_ctrl_msg(target); in ath6kl_htc_mbox_wait_target()
2669 if (!packet) in ath6kl_htc_mbox_wait_target()
2673 rdy_msg = (struct htc_ready_ext_msg *)packet->buf; in ath6kl_htc_mbox_wait_target()
2676 (packet->act_len < sizeof(struct htc_ready_msg))) { in ath6kl_htc_mbox_wait_target()
2694 if (packet->act_len >= sizeof(struct htc_ready_ext_msg)) { in ath6kl_htc_mbox_wait_target()
2731 if (packet) { in ath6kl_htc_mbox_wait_target()
2732 htc_rxpkt_reset(packet); in ath6kl_htc_mbox_wait_target()
2733 reclaim_rx_ctrl_buf(target, packet); in ath6kl_htc_mbox_wait_target()
2745 struct htc_packet *packet; in ath6kl_htc_mbox_start() local
2758 while ((packet = htc_get_control_buf(target, false)) != NULL) { in ath6kl_htc_mbox_start()
2759 status = htc_add_rxbuf(target, packet); in ath6kl_htc_mbox_start()
2788 struct htc_packet *packet; in ath6kl_htc_reset() local
2800 packet = kzalloc(sizeof(*packet), GFP_KERNEL); in ath6kl_htc_reset()
2801 if (!packet) in ath6kl_htc_reset()
2804 packet->buf_start = kzalloc(ctrl_bufsz, GFP_KERNEL); in ath6kl_htc_reset()
2805 if (!packet->buf_start) { in ath6kl_htc_reset()
2806 kfree(packet); in ath6kl_htc_reset()
2810 packet->buf_len = ctrl_bufsz; in ath6kl_htc_reset()
2812 packet->act_len = 0; in ath6kl_htc_reset()
2813 packet->buf = packet->buf_start; in ath6kl_htc_reset()
2814 packet->endpoint = ENDPOINT_0; in ath6kl_htc_reset()
2815 list_add_tail(&packet->list, &target->free_ctrl_rxbuf); in ath6kl_htc_reset()
2817 list_add_tail(&packet->list, &target->free_ctrl_txbuf); in ath6kl_htc_reset()
2894 struct htc_packet *packet, *tmp_packet; in ath6kl_htc_mbox_cleanup() local
2898 list_for_each_entry_safe(packet, tmp_packet, in ath6kl_htc_mbox_cleanup()
2900 list_del(&packet->list); in ath6kl_htc_mbox_cleanup()
2901 kfree(packet->buf_start); in ath6kl_htc_mbox_cleanup()
2902 kfree(packet); in ath6kl_htc_mbox_cleanup()
2905 list_for_each_entry_safe(packet, tmp_packet, in ath6kl_htc_mbox_cleanup()
2907 list_del(&packet->list); in ath6kl_htc_mbox_cleanup()
2908 kfree(packet->buf_start); in ath6kl_htc_mbox_cleanup()
2909 kfree(packet); in ath6kl_htc_mbox_cleanup()