[rt2x00-users] header_length in rt2x00lib_txdone
RA-Jay Hung
Jay_Hung at ralinktech.com
Tue Nov 9 12:39:52 UTC 2010
In rt2x00lib_txdone, is it correct of header_length = ieee80211_get_hdrlen_from_skb(entry->skb)?
According to description "Given an skb with a raw 802.11 header at the data pointer this function returns the 802.11 header length in bytes",
and at that moment skb->data seems point to extra_tx_headroom, not 802.11 header.
void rt2x00lib_txdone(struct queue_entry *entry,
struct txdone_entry_desc *txdesc)
{
struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(entry->skb);
struct skb_frame_desc *skbdesc = get_skb_frame_desc(entry->skb);
enum data_queue_qid qid = skb_get_queue_mapping(entry->skb);
unsigned int header_length = ieee80211_get_hdrlen_from_skb(entry->skb);
u8 rate_idx, rate_flags, retry_rates;
u8 skbdesc_flags = skbdesc->flags;
unsigned int i;
bool success;
struct queue_entry_priv_usb *queue_entry_priv = entry->priv_data;
/*
* Unmap the skb.
*/
rt2x00queue_unmap_skb(rt2x00dev, entry->skb);
/*
* Remove the extra tx headroom from the skb.
*/
skb_pull(entry->skb, rt2x00dev->ops->extra_tx_headroom);
CONFIDENTIALITY STATEMENT : The information, attachments and any rights attaching in this e-mail are confidential and privileged; it is intended only for the individual or entity named as the recipient hereof.Any disclosure, copying, distribution, dissemination or use of the contents of this e-mail by persons other than the intended recipient is STRICTLY PROHIBITED and may violate applicable laws.If you have received this e-mail in error, please delete the original message and notify us by return email or collect call immediately. Thank you.
More information about the users
mailing list