Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ath6kl: add pointer to the skb in htc_packet

Needed by the USB code.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>

+13
+8
drivers/net/wireless/ath/ath6kl/htc.h
··· 311 311 312 312 void (*completion) (struct htc_target *, struct htc_packet *); 313 313 struct htc_target *context; 314 + 315 + /* 316 + * optimization for network-oriented data, the HTC packet 317 + * can pass the network buffer corresponding to the HTC packet 318 + * lower layers may optimized the transfer knowing this is 319 + * a network buffer 320 + */ 321 + struct sk_buff *skb; 314 322 }; 315 323 316 324 enum htc_send_full_action {
+5
drivers/net/wireless/ath/ath6kl/txrx.c
··· 322 322 cookie->map_no = 0; 323 323 set_htc_pkt_info(&cookie->htc_pkt, cookie, skb->data, skb->len, 324 324 eid, ATH6KL_CONTROL_PKT_TAG); 325 + cookie->htc_pkt.skb = skb; 325 326 326 327 /* 327 328 * This interface is asynchronous, if there is an error, cleanup ··· 491 490 cookie->map_no = map_no; 492 491 set_htc_pkt_info(&cookie->htc_pkt, cookie, skb->data, skb->len, 493 492 eid, htc_tag); 493 + cookie->htc_pkt.skb = skb; 494 494 495 495 ath6kl_dbg_dump(ATH6KL_DBG_RAW_BYTES, __func__, "tx ", 496 496 skb->data, skb->len); ··· 890 888 skb->data = PTR_ALIGN(skb->data - 4, 4); 891 889 set_htc_rxpkt_info(packet, skb, skb->data, 892 890 ATH6KL_BUFFER_SIZE, endpoint); 891 + packet->skb = skb; 893 892 list_add_tail(&packet->list, &queue); 894 893 } 895 894 ··· 913 910 skb->data = PTR_ALIGN(skb->data - 4, 4); 914 911 set_htc_rxpkt_info(packet, skb, skb->data, 915 912 ATH6KL_AMSDU_BUFFER_SIZE, 0); 913 + packet->skb = skb; 914 + 916 915 spin_lock_bh(&ar->lock); 917 916 list_add_tail(&packet->list, &ar->amsdu_rx_buffer_queue); 918 917 spin_unlock_bh(&ar->lock);