[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