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()
1122 struct htc_packet *packet) in ath6kl_htc_mbox_tx() argument
1129 packet->endpoint, packet->buf, packet->act_len); in ath6kl_htc_mbox_tx()
1131 if (packet->endpoint >= ENDPOINT_MAX) { in ath6kl_htc_mbox_tx()
1136 endpoint = &target->endpoint[packet->endpoint]; in ath6kl_htc_mbox_tx()
1138 if (!ath6kl_htc_tx_try(target, endpoint, packet)) { in ath6kl_htc_mbox_tx()
1139 packet->status = (target->htc_flags & HTC_OP_STATE_STOPPING) ? in ath6kl_htc_mbox_tx()
1142 list_add(&packet->list, &queue); in ath6kl_htc_mbox_tx()
1153 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_mbox_flush_txep() local
1167 list_for_each_entry_safe(packet, tmp_pkt, &endpoint->txq, list) { in ath6kl_htc_mbox_flush_txep()
1169 (tag == packet->info.tx.tag)) in ath6kl_htc_mbox_flush_txep()
1170 list_move_tail(&packet->list, &discard_q); in ath6kl_htc_mbox_flush_txep()
1175 list_for_each_entry_safe(packet, tmp_pkt, &discard_q, list) { in ath6kl_htc_mbox_flush_txep()
1176 packet->status = -ECANCELED; in ath6kl_htc_mbox_flush_txep()
1177 list_del(&packet->list); in ath6kl_htc_mbox_flush_txep()
1180 packet, packet->act_len, in ath6kl_htc_mbox_flush_txep()
1181 packet->endpoint, packet->info.tx.tag); in ath6kl_htc_mbox_flush_txep()
1184 list_add_tail(&packet->list, &container); in ath6kl_htc_mbox_flush_txep()
1269 static int htc_add_rxbuf(struct htc_target *target, struct htc_packet *packet) in htc_add_rxbuf() argument
1274 list_add_tail(&packet->list, &queue); in htc_add_rxbuf()
1279 struct htc_packet *packet, in htc_reclaim_rxbuf() argument
1282 if (packet->info.rx.rx_flags & HTC_RX_PKT_NO_RECYCLE) { in htc_reclaim_rxbuf()
1283 htc_rxpkt_reset(packet); in htc_reclaim_rxbuf()
1284 packet->status = -ECANCELED; in htc_reclaim_rxbuf()
1285 ep->ep_cb.rx(ep->target, packet); in htc_reclaim_rxbuf()
1287 htc_rxpkt_reset(packet); in htc_reclaim_rxbuf()
1288 htc_add_rxbuf((void *)(target), packet); in htc_reclaim_rxbuf()
1293 struct htc_packet *packet) in reclaim_rx_ctrl_buf() argument
1296 list_add_tail(&packet->list, &target->free_ctrl_rxbuf); in reclaim_rx_ctrl_buf()
1301 struct htc_packet *packet, in ath6kl_htc_rx_packet() argument
1310 if (padded_len > packet->buf_len) { in ath6kl_htc_rx_packet()
1312 padded_len, rx_len, packet->buf_len); in ath6kl_htc_rx_packet()
1318 packet, packet->info.rx.exp_hdr, in ath6kl_htc_rx_packet()
1323 packet->buf, padded_len, in ath6kl_htc_rx_packet()
1326 packet->status = status; in ath6kl_htc_rx_packet()
1338 struct htc_packet *packet) in ath6kl_htc_rx_set_indicate() argument
1342 if (htc_hdr->eid == packet->endpoint) { in ath6kl_htc_rx_set_indicate()
1344 packet->info.rx.indicat_flags |= in ath6kl_htc_rx_set_indicate()
1370 struct htc_packet *packet; in ath6kl_htc_rx_setup() local
1406 packet = ep_cb.rx_allocthresh(ep->target, ep->eid, in ath6kl_htc_rx_setup()
1420 packet = NULL; in ath6kl_htc_rx_setup()
1422 packet = list_first_entry(&ep->rx_bufq, in ath6kl_htc_rx_setup()
1424 list_del(&packet->list); in ath6kl_htc_rx_setup()
1428 if (!packet) { in ath6kl_htc_rx_setup()
1435 packet->info.rx.rx_flags = 0; in ath6kl_htc_rx_setup()
1436 packet->info.rx.indicat_flags = 0; in ath6kl_htc_rx_setup()
1437 packet->status = 0; in ath6kl_htc_rx_setup()
1445 packet->info.rx.rx_flags |= HTC_RX_PKT_NO_RECYCLE; in ath6kl_htc_rx_setup()
1448 list_add_tail(&packet->list, queue); in ath6kl_htc_rx_setup()
1456 packet->info.rx.rx_flags |= HTC_RX_PKT_REFRESH_HDR; in ath6kl_htc_rx_setup()
1457 packet->info.rx.exp_hdr = 0xFFFFFFFF; in ath6kl_htc_rx_setup()
1460 packet->info.rx.exp_hdr = *lk_ahds; in ath6kl_htc_rx_setup()
1462 packet->act_len = le16_to_cpu(htc_hdr->payld_len) + in ath6kl_htc_rx_setup()
1475 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_rx_alloc() local
1557 list_for_each_entry_safe(packet, tmp_pkt, queue, list) { in ath6kl_htc_rx_alloc()
1558 list_del(&packet->list); in ath6kl_htc_rx_alloc()
1559 htc_reclaim_rxbuf(target, packet, in ath6kl_htc_rx_alloc()
1560 &target->endpoint[packet->endpoint]); in ath6kl_htc_rx_alloc()
1804 struct htc_packet *packet, in ath6kl_htc_rx_process_hdr() argument
1810 struct htc_frame_hdr *htc_hdr = (struct htc_frame_hdr *)packet->buf; in ath6kl_htc_rx_process_hdr()
1821 memcpy((u8 *)&lk_ahd, packet->buf, sizeof(lk_ahd)); in ath6kl_htc_rx_process_hdr()
1823 if (packet->info.rx.rx_flags & HTC_RX_PKT_REFRESH_HDR) { in ath6kl_htc_rx_process_hdr()
1829 packet->info.rx.exp_hdr = lk_ahd; in ath6kl_htc_rx_process_hdr()
1830 packet->act_len = payload_len + HTC_HDR_LENGTH; in ath6kl_htc_rx_process_hdr()
1833 if (packet->act_len > packet->buf_len) { in ath6kl_htc_rx_process_hdr()
1840 packet->act_len = min(packet->act_len, packet->buf_len); in ath6kl_htc_rx_process_hdr()
1845 if (packet->endpoint != htc_hdr->eid) { in ath6kl_htc_rx_process_hdr()
1847 htc_hdr->eid, packet->endpoint); in ath6kl_htc_rx_process_hdr()
1853 if (lk_ahd != packet->info.rx.exp_hdr) { in ath6kl_htc_rx_process_hdr()
1855 __func__, packet, packet->info.rx.rx_flags); in ath6kl_htc_rx_process_hdr()
1857 "", &packet->info.rx.exp_hdr, 4); in ath6kl_htc_rx_process_hdr()
1873 if (packet->info.rx.rx_flags & HTC_RX_PKT_IGNORE_LOOKAHEAD) { in ath6kl_htc_rx_process_hdr()
1878 status = htc_proc_trailer(target, packet->buf + HTC_HDR_LENGTH in ath6kl_htc_rx_process_hdr()
1881 n_lkahds, packet->endpoint); in ath6kl_htc_rx_process_hdr()
1886 packet->act_len -= htc_hdr->ctrl[0]; in ath6kl_htc_rx_process_hdr()
1889 packet->buf += HTC_HDR_LENGTH; in ath6kl_htc_rx_process_hdr()
1890 packet->act_len -= HTC_HDR_LENGTH; in ath6kl_htc_rx_process_hdr()
1895 "", packet->buf, packet->act_len); in ath6kl_htc_rx_process_hdr()
1901 struct htc_packet *packet) in ath6kl_htc_rx_complete() argument
1905 endpoint->eid, packet); in ath6kl_htc_rx_complete()
1907 endpoint->ep_cb.rx(endpoint->target, packet); in ath6kl_htc_rx_complete()
1916 struct htc_packet *packet; in ath6kl_htc_rx_bundle() local
1953 packet = list_first_entry(rxq, struct htc_packet, list); in ath6kl_htc_rx_bundle()
1954 list_del(&packet->list); in ath6kl_htc_rx_bundle()
1957 packet->act_len); in ath6kl_htc_rx_bundle()
1960 list_add(&packet->list, rxq); in ath6kl_htc_rx_bundle()
1972 packet->info.rx.rx_flags |= in ath6kl_htc_rx_bundle()
1976 scat_req->scat_list[i].buf = packet->buf; in ath6kl_htc_rx_bundle()
1979 packet->info.rx.rx_flags |= HTC_RX_PKT_PART_OF_BUNDLE; in ath6kl_htc_rx_bundle()
1981 list_add_tail(&packet->list, sync_compq); in ath6kl_htc_rx_bundle()
2008 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_rx_process_packets() local
2012 list_for_each_entry_safe(packet, tmp_pkt, comp_pktq, list) { in ath6kl_htc_rx_process_packets()
2013 ep = &target->endpoint[packet->endpoint]; in ath6kl_htc_rx_process_packets()
2015 trace_ath6kl_htc_rx(packet->status, packet->endpoint, in ath6kl_htc_rx_process_packets()
2016 packet->buf, packet->act_len); in ath6kl_htc_rx_process_packets()
2019 status = ath6kl_htc_rx_process_hdr(target, packet, lk_ahds, in ath6kl_htc_rx_process_packets()
2024 list_del(&packet->list); in ath6kl_htc_rx_process_packets()
2033 ep, packet); in ath6kl_htc_rx_process_packets()
2039 packet->info.rx.indicat_flags |= in ath6kl_htc_rx_process_packets()
2044 if (packet->info.rx.rx_flags & HTC_RX_PKT_PART_OF_BUNDLE) in ath6kl_htc_rx_process_packets()
2047 ath6kl_htc_rx_complete(ep, packet); in ath6kl_htc_rx_process_packets()
2061 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_rx_fetch() local
2089 packet = list_first_entry(rx_pktq, struct htc_packet, in ath6kl_htc_rx_fetch()
2093 packet->completion = NULL; in ath6kl_htc_rx_fetch()
2101 packet->info.rx.rx_flags |= in ath6kl_htc_rx_fetch()
2105 status = ath6kl_htc_rx_packet(target, packet, in ath6kl_htc_rx_fetch()
2106 packet->act_len); in ath6kl_htc_rx_fetch()
2108 list_move_tail(&packet->list, &tmp_rxq); in ath6kl_htc_rx_fetch()
2126 list_for_each_entry_safe(packet, tmp_pkt, rx_pktq, list) { in ath6kl_htc_rx_fetch()
2127 list_del(&packet->list); in ath6kl_htc_rx_fetch()
2128 htc_reclaim_rxbuf(target, packet, in ath6kl_htc_rx_fetch()
2129 &target->endpoint[packet->endpoint]); in ath6kl_htc_rx_fetch()
2132 list_for_each_entry_safe(packet, tmp_pkt, &tmp_rxq, list) { in ath6kl_htc_rx_fetch()
2133 list_del(&packet->list); in ath6kl_htc_rx_fetch()
2134 htc_reclaim_rxbuf(target, packet, in ath6kl_htc_rx_fetch()
2135 &target->endpoint[packet->endpoint]); in ath6kl_htc_rx_fetch()
2262 struct htc_packet *packet = NULL; in htc_wait_for_ctrl_msg() local
2275 packet = htc_get_control_buf(target, false); in htc_wait_for_ctrl_msg()
2277 if (!packet) in htc_wait_for_ctrl_msg()
2280 packet->info.rx.rx_flags = 0; in htc_wait_for_ctrl_msg()
2281 packet->info.rx.exp_hdr = look_ahead.word; in htc_wait_for_ctrl_msg()
2282 packet->act_len = le16_to_cpu(look_ahead.payld_len) + HTC_HDR_LENGTH; in htc_wait_for_ctrl_msg()
2284 if (packet->act_len > packet->buf_len) in htc_wait_for_ctrl_msg()
2288 packet->completion = NULL; in htc_wait_for_ctrl_msg()
2291 if (ath6kl_htc_rx_packet(target, packet, packet->act_len)) in htc_wait_for_ctrl_msg()
2294 trace_ath6kl_htc_rx(packet->status, packet->endpoint, in htc_wait_for_ctrl_msg()
2295 packet->buf, packet->act_len); in htc_wait_for_ctrl_msg()
2298 packet->status = ath6kl_htc_rx_process_hdr(target, packet, NULL, NULL); in htc_wait_for_ctrl_msg()
2300 if (packet->status) { in htc_wait_for_ctrl_msg()
2302 packet->status); in htc_wait_for_ctrl_msg()
2306 return packet; in htc_wait_for_ctrl_msg()
2309 if (packet != NULL) { in htc_wait_for_ctrl_msg()
2310 htc_rxpkt_reset(packet); in htc_wait_for_ctrl_msg()
2311 reclaim_rx_ctrl_buf(target, packet); in htc_wait_for_ctrl_msg()
2342 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_mbox_add_rxbuf_multiple() local
2345 list_for_each_entry_safe(packet, tmp_pkt, pkt_queue, list) { in ath6kl_htc_mbox_add_rxbuf_multiple()
2346 packet->status = -ECANCELED; in ath6kl_htc_mbox_add_rxbuf_multiple()
2347 list_del(&packet->list); in ath6kl_htc_mbox_add_rxbuf_multiple()
2348 ath6kl_htc_rx_complete(endpoint, packet); in ath6kl_htc_mbox_add_rxbuf_multiple()
2382 struct htc_packet *packet, *tmp_pkt; in ath6kl_htc_mbox_flush_rx_buf() local
2392 list_for_each_entry_safe(packet, tmp_pkt, in ath6kl_htc_mbox_flush_rx_buf()
2394 list_del(&packet->list); in ath6kl_htc_mbox_flush_rx_buf()
2398 packet, packet->buf_len, in ath6kl_htc_mbox_flush_rx_buf()
2399 packet->endpoint); in ath6kl_htc_mbox_flush_rx_buf()
2409 if (packet->endpoint == ENDPOINT_0) { in ath6kl_htc_mbox_flush_rx_buf()
2410 kfree(packet->buf_start); in ath6kl_htc_mbox_flush_rx_buf()
2411 kfree(packet); in ath6kl_htc_mbox_flush_rx_buf()
2413 dev_kfree_skb(packet->pkt_cntxt); in ath6kl_htc_mbox_flush_rx_buf()
2656 struct htc_packet *packet = NULL; in ath6kl_htc_mbox_wait_target() local
2663 packet = htc_wait_for_ctrl_msg(target); in ath6kl_htc_mbox_wait_target()
2665 if (!packet) in ath6kl_htc_mbox_wait_target()
2669 rdy_msg = (struct htc_ready_ext_msg *)packet->buf; in ath6kl_htc_mbox_wait_target()
2672 (packet->act_len < sizeof(struct htc_ready_msg))) { in ath6kl_htc_mbox_wait_target()
2690 if (packet->act_len >= sizeof(struct htc_ready_ext_msg)) { in ath6kl_htc_mbox_wait_target()
2727 if (packet) { in ath6kl_htc_mbox_wait_target()
2728 htc_rxpkt_reset(packet); in ath6kl_htc_mbox_wait_target()
2729 reclaim_rx_ctrl_buf(target, packet); in ath6kl_htc_mbox_wait_target()
2741 struct htc_packet *packet; in ath6kl_htc_mbox_start() local
2754 while ((packet = htc_get_control_buf(target, false)) != NULL) { in ath6kl_htc_mbox_start()
2755 status = htc_add_rxbuf(target, packet); in ath6kl_htc_mbox_start()
2784 struct htc_packet *packet; in ath6kl_htc_reset() local
2796 packet = kzalloc(sizeof(*packet), GFP_KERNEL); in ath6kl_htc_reset()
2797 if (!packet) in ath6kl_htc_reset()
2800 packet->buf_start = kzalloc(ctrl_bufsz, GFP_KERNEL); in ath6kl_htc_reset()
2801 if (!packet->buf_start) { in ath6kl_htc_reset()
2802 kfree(packet); in ath6kl_htc_reset()
2806 packet->buf_len = ctrl_bufsz; in ath6kl_htc_reset()
2808 packet->act_len = 0; in ath6kl_htc_reset()
2809 packet->buf = packet->buf_start; in ath6kl_htc_reset()
2810 packet->endpoint = ENDPOINT_0; in ath6kl_htc_reset()
2811 list_add_tail(&packet->list, &target->free_ctrl_rxbuf); in ath6kl_htc_reset()
2813 list_add_tail(&packet->list, &target->free_ctrl_txbuf); in ath6kl_htc_reset()
2890 struct htc_packet *packet, *tmp_packet; in ath6kl_htc_mbox_cleanup() local
2894 list_for_each_entry_safe(packet, tmp_packet, in ath6kl_htc_mbox_cleanup()
2896 list_del(&packet->list); in ath6kl_htc_mbox_cleanup()
2897 kfree(packet->buf_start); in ath6kl_htc_mbox_cleanup()
2898 kfree(packet); in ath6kl_htc_mbox_cleanup()
2901 list_for_each_entry_safe(packet, tmp_packet, in ath6kl_htc_mbox_cleanup()
2903 list_del(&packet->list); in ath6kl_htc_mbox_cleanup()
2904 kfree(packet->buf_start); in ath6kl_htc_mbox_cleanup()
2905 kfree(packet); in ath6kl_htc_mbox_cleanup()